1555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot%include <std_common.i> 2555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 3555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot%{ 4555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#include <utility> 5555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot%} 6555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 7555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 8555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotnamespace std { 9555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot template <class T, class U > struct pair { 10555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef T first_type; 11555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef U second_type; 12555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 13555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %traits_swigtype(T); 14555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %traits_swigtype(U); 15555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 16555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %fragment(SWIG_Traits_frag(std::pair<T,U >), "header", 17555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment=SWIG_Traits_frag(T), 18555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment=SWIG_Traits_frag(U), 19555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment="StdPairTraits") { 20555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot namespace swig { 21555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot template <> struct traits<std::pair<T,U > > { 22555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef pointer_category category; 23555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot static const char* type_name() { 24555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot return "std::pair<" #T "," #U " >"; 25555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 26555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot }; 27555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 28555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 29555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 30555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#ifndef SWIG_STD_PAIR_ASVAL 31555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair<T,U >); 32555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#else 33555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %typemap_traits(SWIG_TYPECHECK_PAIR, std::pair<T,U >); 34555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#endif 35555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 36555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(); 37555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(T first, U second); 38555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(const pair& p); 39555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 40555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot template <class U1, class U2> pair(const pair<U1, U2> &p); 41555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 42555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot T first; 43555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot U second; 44555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 45555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#ifdef %swig_pair_methods 46555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot // Add swig/language extra methods 47555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %swig_pair_methods(std::pair<T,U >) 48555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#endif 49555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot }; 50555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 51555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot // *** 52555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot // The following specializations should disappear or get 53555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot // simplified when a 'const SWIGTYPE*&' can be defined 54555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot // *** 55555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot template <class T, class U > struct pair<T, U*> { 56555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef T first_type; 57555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef U* second_type; 58555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 59555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %traits_swigtype(T); 60555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %traits_swigtype(U); 61555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 62555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %fragment(SWIG_Traits_frag(std::pair<T,U* >), "header", 63555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment=SWIG_Traits_frag(T), 64555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment=SWIG_Traits_frag(U), 65555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment="StdPairTraits") { 66555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot namespace swig { 67555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot template <> struct traits<std::pair<T,U* > > { 68555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef pointer_category category; 69555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot static const char* type_name() { 70555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot return "std::pair<" #T "," #U " * >"; 71555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 72555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot }; 73555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 74555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 75555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 76555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair<T,U* >); 77555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 78555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(); 79555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(T __a, U* __b); 80555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(const pair& __p); 81555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 82555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot T first; 83555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot U* second; 84555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 85555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#ifdef %swig_pair_methods 86555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot // Add swig/language extra methods 87555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %swig_pair_methods(std::pair<T,U*>) 88555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#endif 89555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot }; 90555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 91555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot template <class T, class U > struct pair<T*, U> { 92555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef T* first_type; 93555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef U second_type; 94555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 95555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %traits_swigtype(T); 96555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %traits_swigtype(U); 97555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 98555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %fragment(SWIG_Traits_frag(std::pair<T*,U >), "header", 99555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment=SWIG_Traits_frag(T), 100555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment=SWIG_Traits_frag(U), 101555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment="StdPairTraits") { 102555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot namespace swig { 103555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot template <> struct traits<std::pair<T*,U > > { 104555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef pointer_category category; 105555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot static const char* type_name() { 106555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot return "std::pair<" #T " *," #U " >"; 107555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 108555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot }; 109555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 110555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 111555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 112555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair<T*,U >); 113555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 114555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(); 115555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(T* __a, U __b); 116555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(const pair& __p); 117555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 118555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot T* first; 119555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot U second; 120555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 121555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#ifdef %swig_pair_methods 122555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot // Add swig/language extra methods 123555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %swig_pair_methods(std::pair<T*,U >) 124555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#endif 125555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot }; 126555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 127555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot template <class T, class U > struct pair<T*, U*> { 128555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef T* first_type; 129555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef U* second_type; 130555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 131555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %traits_swigtype(T); 132555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %traits_swigtype(U); 133555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 134555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %fragment(SWIG_Traits_frag(std::pair<T*,U* >), "header", 135555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment=SWIG_Traits_frag(T), 136555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment=SWIG_Traits_frag(U), 137555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot fragment="StdPairTraits") { 138555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot namespace swig { 139555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot template <> struct traits<std::pair<T*,U* > > { 140555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot typedef pointer_category category; 141555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot static const char* type_name() { 142555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot return "std::pair<" #T " *," #U " * >"; 143555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 144555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot }; 145555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 146555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot } 147555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 148555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %typemap_traits(SWIG_TYPECHECK_PAIR, std::pair<T*,U* >); 149555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 150555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(); 151555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(T* __a, U* __b); 152555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot pair(const pair& __p); 153555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 154555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot T* first; 155555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot U* second; 156555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 157555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#ifdef %swig_pair_methods 158555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot // Add swig/language extra methods 159555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot %swig_pair_methods(std::pair<T*,U*>) 160555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#endif 161555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot }; 162555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 163555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot} 164