Bir C var aşağıdaki yöntemleri vardır ++ sınıfı,:boost :: piton sicim-konvertibl özellikleri
sınıfFoo
std::string
(o
std::string
bir örtük yapıcı ve
std::string
döküm operatörü vardır dönüştürülebilen
class Bar {
...
const Foo& getFoo() const;
void setFoo(const Foo&);
};
).
class_<Bar>("Bar")
...
.add_property(
"foo",
make_function(
&Bar::getFoo,
return_value_policy<return_by_value>()),
&Bar::setFoo)
...
Ayrıca dönüştürülebilir için/std::string
itibaren sınıf işareti:
implicitly_convertible<std::string, Foo>();
implicitly_convertible<Foo, std::string>();
Ama zamanında hala bu özelliği erişmeye çalışan bir dönüşüm hatası alıyorum:
TypeError: No to_python (by-value) converter found for C++ type: Foo
Nasıl sarıcı fonksiyonlarının çok fazla boilerplate olmadan dönüşüm elde etmek için? (Zaten sınıfta Foo
tüm dönüşüm işlevleri var, bu yüzden çoğaltılması istenmeyen bir durumdur.