From 5f1fff1849285f46cfaffadff0352cf976ea4c52 Mon Sep 17 00:00:00 2001 From: Andrew Simmons Date: Mon, 8 Jul 2013 17:29:24 -0500 Subject: [PATCH] Copied std::pair<> fragment from Lib/std/std_map.i into Lib/std/std_multimap.i. This fixes an error when a std::multimap template is wrapped by itself. --- Lib/std/std_multimap.i | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Lib/std/std_multimap.i b/Lib/std/std_multimap.i index f165e5f33..5a2cf38d7 100644 --- a/Lib/std/std_multimap.i +++ b/Lib/std/std_multimap.i @@ -60,6 +60,20 @@ namespace std { %traits_swigtype(_Key); %traits_swigtype(_Tp); + %fragment(SWIG_Traits_frag(std::pair< _Key, _Tp >), "header", + fragment=SWIG_Traits_frag(_Key), + fragment=SWIG_Traits_frag(_Tp), + fragment="StdPairTraits") { + namespace swig { + template <> struct traits > { + typedef pointer_category category; + static const char* type_name() { + return "std::pair<" #_Key "," #_Tp " >"; + } + }; + } + } + %fragment(SWIG_Traits_frag(std::multimap<_Key, _Tp, _Compare, _Alloc >), "header", fragment=SWIG_Traits_frag(std::pair<_Key, _Tp >), fragment="StdMultimapTraits") {