boost::python でユーザ定義構造体/クラスをメンバに含む構造体/クラスにアクセスする
こういうことをBoost::pythonを使ってやりたいです。
C言語側
struct A{
int x;
int y;
}
struct B{
int id;
A a;
}
Python側
b = B()
b.a.x = 0
b.a.y = 1
b.id = 25
Boost.pythonで試してみたところ、
boost::python::class_<B>("B")
.def_readwrite("id", &B::id);
は動作して、上記コードスニペットでb.id = 25 にあたる部分は正常動作します。
ですが、
boost::python::class_<B>("B")
.def_readwrite("a", &B::a);
では、b.a までは動いても、b.a.x の呼び出しができません。
おそらく、構造体/クラスのメンバ変数にユーザ定義の構造体/クラスが含まれる場合に特別な書き方があるのだろう、と思います。
書き方のポイントを教えていただけますでしょうか。