boost/python/opaque_pointer_converter.hpp

クラス

opaque<Pointee> クラステンプレート

template<class Pointee>
struct opaque

opaque<> は、自身を Python オブジェクトと未定義型へのポインタの双方向変換器として登録する。

opaque クラステンプレートの概要

namespace boost { namespace python
{
    template<class Pointee>
    struct opaque
    {
        opaque();
    };
}}

opaque クラステンプレートのコンストラクタ

opaque()
効果
  • Python オブジェクトから不透明なポインタへの lvalue_from_pytype 変換器としてインスタンスを登録する。作成される Python オブジェクトは、ラップする不透明なポインタが指す型の後ろに配置される。

  • 不透明なポインタから Python オブジェクトへの to_python_converter としてインスタンスを登録する。

他のモジュールで登録されたインスタンスが既にある場合は、多重登録の警告を避けるため、このインスタンスは登録を再試行することはない。

注釈

通常、このクラスのインスタンスは各 Pointee につき 1 つだけ作成する。

マクロ

BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID(Pointee) マクロ

BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID(Pointee)

このマクロは、不完全型であるためインスタンス化が不可能な type_id 関数の特殊化を定義するのに使用しなければならない。

注釈

不透明な変換器を使用する各翻訳単位でこのマクロを呼び出さなければならない。