13.1.18.1 オブジェクトからのスケルトンの派生

一部の既存のORB実装では、対応するインタフェース・クラスから、それぞれスケルトン・クラスが派生します。たとえば、インタフェースがMod::Aの場合、スケルトン・クラスPOA_Mod::AMod::Aから派生します。したがって、これらのシステムでは、標準のC++派生ベースの変換規則によって暗黙的にサーバントをオブジェクト参照で取得できます。

// C++
MyImplOfA my_a;     // declare impl of A
A_ptr a = &my_a;   // obtain its object reference
                  // by C++ derived-to-base conversion

このようなコードは、ORB準拠の実装でサポートしていますが、必須ではありません。そのため、移植性はありません。移植性のある同等のコードでは、実装オブジェクトで_this()を呼び出し、未登録の場合は暗黙的にそれを登録して、そのオブジェクト参照を取得します。

// C++
MyImplOfA my_a;          // declare impl of A
A_ptr a = my_a._this();  // obtain its object reference