|
Boost.PythonConfiguration |
Boost.Python は <boost/config.hpp> の中で幾つかのコンフィギュレーション用マクロを使用する。 同時にコンフィギュレーション用マクロはアプリケーションによって提供されることも意味する。 それらのマクロの文書化はここでなされる。
Boost.Python を使うアプリケーションによって定義されるマクロがある。 もしダイナミックライブラリをカバーするために、C++ 標準規格の厳格な解釈を拡張するなら、 異なるライブラリのコンパイル時に (拡張モジュールと Boost.Python ライブラリ自身も含め) これらのマクロを違う値で使用することは ODR 違反であることに注意しなさい。 しかしながら、この特別な違反が探知される、または問題の原因となる C++ の実装を知らない。
Macro | Default | Meaning |
---|---|---|
BOOST_PYTHON_MAX_ARITY |
15 |
引数の最大項数 arity。対象は関数、メンバ関数、
あるいはラップされたコンストラクタ
(引数項 x1, x2, ...X n
の記述で定義される Boost.Python 呼び出しのこと) である。
これは特に object::operator()( ...) や
call_method<R>( ...)
のようなコールバックのしくみを含む。
|
BOOST_PYTHON_MAX_BASES |
10 |
テンプレート引数の最大項数。
対象は、ラップされた C++ クラスの基底を定義するのに使われるテンプレートクラス
bases< ...> 。
|
これらのマクロは Boost.Python で定義される。 これらは実装者の興味本位であり、新たなプラットフォームへのポーティングのための実装の細部である。
Macro | Default | Meaning |
---|---|---|
BOOST_PYTHON_TYPE_ID_NAME |
not defined |
もし定義された場合、
このプラットフォームでは動作しない境目を、
type_info の共有ライブラリの間の比較結果を使って示す。
言い替えれば、shared-lib-1 は typeid(T) を shared-lib-2 の関数に渡し、
それは typeid(T) と比較し、その結果、偽を返すかもしれない。
このマクロが定義された場合、Boost.Python は
std::type_info オブジェクトディレクトリを利用するかわりに
typeid(T).name() を比較のため利用する。
|
Revised 04 October, 2002
© Copyright Dave Abrahams 2002. All Rights Reserved.