Given an interface pointer to an object, it can be useful to narrow to the implementation pointer of the object. For example, given interface I, the C++ implementation hierarchy for I might look like the following:
I ^ | I_Skeleton ^ | I_Impl
You might convert a pointer to I into a pointer to I_Impl. There is no CORBA-prescribed mechanism for this conversion. Within the confines of the C++ language, you can use dynamic cast.