キー、値、コメントなどを含むクラスであるstd::vector<Foo>
whereを含むFoo
クラスがあります。辞書ではなくベクトルを使用しているのには理由があることに注意してください。
foos["Key Name"]
「キー名」(ここfoos
で、は)に一致するキーを持つFooオブジェクトをベクトルで検索するように、C++で添え字演算子をオーバーロードしましたstd::vector<Foo>
。
SWIGを使用してライブラリのPythonラッパーを作成していますが、この添え字演算子をPythonに拡張したいと考えています。foos["Key Name"]
つまり、 Pythonでベクター内のオブジェクトを検索するためにを使用できるようにしたいと思います。
SWIGに添え字演算子を認識させ、Pythonでオーバーロードする方法に関するヒントはありますか?これをオンラインで行っている人の例が見つからなかったことに少し驚いています。std::map
ほとんどの人はを使用して、SWIGにPythonに変換させていると思いdict
ます。