У меня есть класс, который содержит std::vector<Foo>
, где Foo
- это класс, содержащий ключ, значение, комментарий и т. Д. Обратите внимание, что есть причина, по которой я использую вектор, а не словарь.
Я перегрузил оператор индекса в C ++, так что foos["Key Name"]
будет искать в векторе объект Foo с ключом, совпадающим с "Key Name" (где foos
- std::vector<Foo>
).
Я использую SWIG для создания оболочки Python для моей библиотеки, и мне бы очень хотелось, чтобы этот оператор индекса расширился до Python. Другими словами, я хочу иметь возможность использовать foos["Key Name"]
для поиска объектов в векторе в Python.
Какие-нибудь советы о том, как заставить SWIG распознавать оператор индекса и перегрузить его в Python? Я немного удивлен, что я не смог найти примеры людей, делающих это онлайн. Я думаю, что большинство людей просто используют std::map
и SWIG конвертирует его в Python dict
.