/* This testcase checks the new wrappers for the new unordered_ STL types introduced in C++11. */ %module cpp11_hash_tables %inline %{ #include #include #include #include %} %include "std_set.i" %include "std_multiset.i" %include "std_map.i" %include "std_multimap.i" %include "std_unordered_set.i" %include "std_unordered_multiset.i" %include "std_unordered_map.i" %include "std_unordered_multimap.i" %template (SetInt) std::set; %template (MultiSetInt) std::multiset; %template (MapIntInt) std::map; %template (MultiMapIntInt) std::multimap; %template (UnorderedSetInt) std::unordered_set; %template (UnorderedMultiSetInt) std::unordered_multiset; %template (UnorderedMapIntInt) std::unordered_map; %template (UnorderedMultiMapIntInt) std::unordered_multimap; %inline %{ using namespace std; class MyClass { public: set getSet() { return _set; } void addSet(int elt) { _set.insert(_set.begin(), elt); } map getMap() { return _map; } void addMap(int elt1, int elt2) { _map.insert(make_pair(elt1, elt2)); } unordered_set getUnorderedSet() { return _unordered_set; } void addUnorderedSet(int elt) { _unordered_set.insert(_unordered_set.begin(), elt); } unordered_map getUnorderedMap() { return _unordered_map; } void addUnorderedMap(int elt1, int elt2) { _unordered_map.insert(make_pair(elt1, elt2)); } private: set _set; map _map; unordered_set _unordered_set; unordered_map _unordered_map; }; %}