boost/python/args.hpp
はじめに
ラップした C++ 関数にキーワード引数を指定する多重定義関数群を提供する。
keyword-expression
keyword-expression ::= `see-other-document`
keyword-expression
の結果は ntbs の列を保持するオブジェクトであり、その型は指定したキーワードの数を符号化する。keyword-expression
は保持する一部またはすべてのキーワードについて既定値を持つことが可能である。
クラス
arg クラス
-
struct arg
arg
クラスのオブジェクトは 1 つのキーワードを保持する(サイズが 1 である)keyword-expression
である。
arg
クラスの概要
namespace boost { namespace python
{
struct arg
{
template <class T>
arg &operator = (T const &value);
explicit arg (char const *name){elements[0].name = name;}
};
}
arg
クラスのコンストラクタ
arg
クラスの operator=
テンプレート
keyword-expression
の operator ,
関数(非推奨)
args(...)
-
unspecified1 args(char const *a0, char const*... an)
- 要件
引数はすべて ntbs でなければならない。
- 戻り値
渡した引数をカプセル化する
keyword-expression
を表すオブジェクト。
例
#include <boost/python/def.hpp>
using namespace boost::python;
int f(double x, double y, double z=0.0, double w=1.0);
BOOST_PYTHON_MODULE(xxx)
{
def("f", f
, ( arg("x"), "y", arg("z")=0.0, arg("w")=1.0 )
);
}