我想用boost :: python來做一些非常簡單的事情。我可以找到類成員函數的文檔以及繼承類的文檔(bleurch),但是我找不到通過編譯創建的類層次結構的語法。在boost.python中;我如何公開一個包含在另一個類中的類(通過組合)?
所以我有一個是這樣的一些C++代碼:
struct A{
double x,y;
};
struct B{
A foo;
double z;
};
而且我要揭露這兩個類,以便在python我可以寫這樣的:
spam = A()
spam.x=1
spam.y=2
eggs = B()
eggs.foo=spam
eggs.z = 33
Print eggs.foo.y
當然這是可能的?但我無法弄清楚。
非常感謝!
編輯:
誤報...它會自動完成。如果您使用以下出口代碼添加到每個單獨導出:
class_<A>("A")
.def_readwrite("x",&A::x)
.def_readwrite("y",&A::y)
;
class_<B>("B")
.def_readwrite("z",&B::z)
.def_readwrite("foo",&B::foo)
;
什麼扔我是,你必須實例化的python前級子方法的完整列表變得與DIR()即可見,下面產生不同結果,你必須使用第二類型得到一個完整的會員列表:
dir(B.foo)
dir(B().foo)
顯然,一些蟒蛇技術性問題會在這裏,我還不知道......任何進一步澄清歡迎。
爲 dir