uso boost :: python per eseguire il wrapping di una classe C++. Questa classe non consente i costruttori di copie, ma il modulo python ne vuole sempre creare uno.boost :: python: la compilazione fallisce perché il costruttore della copia è privato
La classe C++ si presenta così (semplificato) classe
class Foo {
public:
Foo(const char *name); // constructor
private:
ByteArray m_bytearray;
};
Il ByteArray viene ereditato da boost :: noncopyable, quindi Foo non ha costruttori di copia.
Ecco lo stub modulo Python:
BOOST_PYTHON_MODULE(Foo)
{
class_<Foo>("Foo", init<const char *>())
;
}
Quando si compila il boost :: modulo Python, ottengo errori che un costruttore di copia per Foo non può essere creato perché ByteArray eredita da boost :: noncopyable.
Come posso disabilitare i costruttori di copie nel mio modulo Python?
Grazie Christoph