私はboost::pythonを使用してC++クラスをラップします。このクラスはコピーコンストラクターを許可しませんが、Pythonモジュールは常にコピーコンストラクターを作成したいと考えています。
C ++クラスは次のようになります(簡略化)
class Foo {
public:
Foo(const char *name); // constructor
private:
ByteArray m_bytearray;
};
ByteArrayクラスはboost::noncopyableから継承されるため、Fooにはコピーコンストラクターがありません。
Pythonモジュールスタブは次のとおりです。
BOOST_PYTHON_MODULE(Foo)
{
class_<Foo>("Foo", init<const char *>())
;
}
boost :: pythonモジュールをコンパイルすると、ByteArrayがboost :: noncopyableから継承するため、Fooのコピーコンストラクターを作成できないというエラーが発生します。
Pythonモジュールでコピーコンストラクターを無効にするにはどうすればよいですか?
ありがとうクリストフ