PyCxx で生成された Python 拡張機能で属性を定義する適切な方法は何でしょうか。Py::PythonClass
現在、公式の例のようにサブクラスを作成しています。初期化関数を追加behaviors().supportGetattro();
し、単純なオーバーライドを作成しました
Py::Object getattro( const Py::String &name_ )
{
std::string name( name_.as_std_string( "utf-8" ) );
if( name == "name" )
{
return m_name;
}
else
{
return genericGetAttro( name_ );
}
}
ここまでは順調ですね。pythonでは、で適切な値を取得しますが、満足できないのは、属性obj.name
を呼び出すときにリストされないことだけです。どうすればそれを変更できますか?dir(obj)
name