diff options
Diffstat (limited to 'Examples/test-suite/cpp17_map_no_default_ctor.i')
-rw-r--r-- | Examples/test-suite/cpp17_map_no_default_ctor.i | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Examples/test-suite/cpp17_map_no_default_ctor.i b/Examples/test-suite/cpp17_map_no_default_ctor.i new file mode 100644 index 000000000..2d9a9f502 --- /dev/null +++ b/Examples/test-suite/cpp17_map_no_default_ctor.i @@ -0,0 +1,18 @@ +%module cpp17_map_no_default_ctor +// Tests c++17 insert_or_assign for std::map with no default constructor + +%include <std_map.i> + +%ignore NoDefaultConstructorStruct::operator<; +%inline %{ +struct NoDefaultConstructorStruct final +{ + int value{0}; + NoDefaultConstructorStruct(int v) : value(v) {} + bool operator<(const NoDefaultConstructorStruct& other) const { return value < other.value; } +}; +using NoDefaultConstructorStructMap = std::map<int, NoDefaultConstructorStruct>; +%} + +//%template(PairIntNoDefaultConstructorStruct) std::pair<const int, NoDefaultConstructorStruct>; +%template(NoDefaultConstructorStructMap) std::map<int, NoDefaultConstructorStruct>; |