Python -builtin __contains__ fix for map and set like containers.

Fix when using -builtin and wrapping std::map, std::set, std::unordered_map or
std::unordered_set to ensure __contains__ is called. This is a wrapper for the STL
container's find method. Without it, Python will do its own slower sequence search.
This commit is contained in:
William S Fulton 2018-09-21 08:40:55 +01:00
commit 4715a4e72c
8 changed files with 76 additions and 2 deletions

View file

@ -36,6 +36,10 @@
%swig_sequence_iterator(set);
%swig_container_methods(set);
#if defined(SWIGPYTHON_BUILTIN)
%feature("python:slot", "sq_contains", functype="objobjproc") __contains__;
#endif
%extend {
void append(value_type x) {
self->insert(x);