私は、Pythonになぜ私はブーストPythonベクトルインデックススイートで比較演算子が必要ですか?
std::vector<A>
とC++のコードを公開したいと思います。私の
class A{};
比較演算子は実装されていません。試してみると
BOOST_PYTHON_MODULE(libmyvec)
{
using namespace boost::python;
class_<A>("A");
class_<std::vector<A> >("Avec")
.def(boost::python::vector_indexing_suite<std::vector<A> >());
}
私は比較演算子についてエラーが発生します。 Aの定義を変更して
class A {
public:
bool operator==(const A& other) {return false;}
bool operator!=(const A& other) {return true;}
};
これは魅力的です。
なぜこれらの比較演算子を実装する必要がありますか?それらなしでvector_indexing_suite
を使用する方法はありますか?
あなたの答えをありがとう!このコードはブーストサンドボックスでのみ利用できますか?それを使用する最も簡単な方法は何ですか? [サンドボックス](https://svn.boost.org/svn/boost/sandbox/python_indexing_v2/)でファイルを交換した後、手動でブーストをダウンロードしてコンパイルする必要はありますか? – Hans
明らかに、この機能はBoost.Pythonのリリース版にはまだ含まれていないので、使用したい場合は、サンドボックスから最新バージョンをダウンロードして再構築する必要があります。しかし、私はこのバージョンの状態が何であるか分かりません(まだレビューされていません)ので、おそらく比較演算子のダミー実装に固執することです。 –