我有一个类,其中包含一个std::vector<Foo>
包含Foo
键、值、注释等的类。请注意,我使用向量而不是字典是有原因的。
我在 C++ 中重载了下标运算符,这样foos["Key Name"]
它将在向量中搜索具有键匹配“键名”(其中foos
a std::vector<Foo>
)的 Foo 对象。
我使用SWIG为我的库创建 Python 包装器,我真的希望这个下标运算符扩展到 Python。换句话说,我希望能够foos["Key Name"]
在 Python 中使用 for 在向量中查找对象。
关于如何让 SWIG 识别下标运算符并在 Python 中重载它的任何提示?我有点惊讶我在网上找不到这样做的人的例子。我猜大多数人只是使用 astd::map
并让 SWIG 将其转换为 Python dict
。