Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Side by Side Diff: swig/Lib/std/std_pair.i

Issue 553095: Checkin swig binaries for win, linux and Mac... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: '' Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « swig/Lib/std/std_multiset.i ('k') | swig/Lib/std/std_queue.i » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 %include <std_common.i>
2
3 %{
4 #include <utility>
5 %}
6
7
8 namespace std {
9 template <class T, class U > struct pair {
10 typedef T first_type;
11 typedef U second_type;
12
13 %traits_swigtype(T);
14 %traits_swigtype(U);
15
16 %fragment(SWIG_Traits_frag(std::pair<T,U >), "header",
17 fragment=SWIG_Traits_frag(T),
18 fragment=SWIG_Traits_frag(U),
19 fragment="StdPairTraits") {
20 namespace swig {
21 template <> struct traits<std::pair<T,U > > {
22 typedef pointer_category category;
23 static const char* type_name() {
24 return "std::pair<" #T "," #U " >";
25 }
26 };
27 }
28 }
29
30 #ifndef SWIG_STD_PAIR_ASVAL
31 %typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair<T,U >);
32 #else
33 %typemap_traits(SWIG_TYPECHECK_PAIR, std::pair<T,U >);
34 #endif
35
36 pair();
37 pair(T first, U second);
38 pair(const pair& p);
39
40 template <class U1, class U2> pair(const pair<U1, U2> &p);
41
42 T first;
43 U second;
44
45 #ifdef %swig_pair_methods
46 // Add swig/language extra methods
47 %swig_pair_methods(std::pair<T,U >)
48 #endif
49 };
50
51 // ***
52 // The following specializations should dissapear or get
53 // simplified when a 'const SWIGTYPE*&' can be defined
54 // ***
55 template <class T, class U > struct pair<T, U*> {
56 typedef T first_type;
57 typedef U* second_type;
58
59 %traits_swigtype(T);
60 %traits_swigtype(U);
61
62 %fragment(SWIG_Traits_frag(std::pair<T,U* >), "header",
63 fragment=SWIG_Traits_frag(T),
64 fragment=SWIG_Traits_frag(U),
65 fragment="StdPairTraits") {
66 namespace swig {
67 template <> struct traits<std::pair<T,U* > > {
68 typedef pointer_category category;
69 static const char* type_name() {
70 return "std::pair<" #T "," #U " * >";
71 }
72 };
73 }
74 }
75
76 %typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair<T,U* >);
77
78 pair();
79 pair(T __a, U* __b);
80 pair(const pair& __p);
81
82 T first;
83 U* second;
84
85 #ifdef %swig_pair_methods
86 // Add swig/language extra methods
87 %swig_pair_methods(std::pair<T,U*>)
88 #endif
89 };
90
91 template <class T, class U > struct pair<T*, U> {
92 typedef T* first_type;
93 typedef U second_type;
94
95 %traits_swigtype(T);
96 %traits_swigtype(U);
97
98 %fragment(SWIG_Traits_frag(std::pair<T*,U >), "header",
99 fragment=SWIG_Traits_frag(T),
100 fragment=SWIG_Traits_frag(U),
101 fragment="StdPairTraits") {
102 namespace swig {
103 template <> struct traits<std::pair<T*,U > > {
104 typedef pointer_category category;
105 static const char* type_name() {
106 return "std::pair<" #T " *," #U " >";
107 }
108 };
109 }
110 }
111
112 %typemap_traits_ptr(SWIG_TYPECHECK_PAIR, std::pair<T*,U >);
113
114 pair();
115 pair(T* __a, U __b);
116 pair(const pair& __p);
117
118 T* first;
119 U second;
120
121 #ifdef %swig_pair_methods
122 // Add swig/language extra methods
123 %swig_pair_methods(std::pair<T*,U >)
124 #endif
125 };
126
127 template <class T, class U > struct pair<T*, U*> {
128 typedef T* first_type;
129 typedef U* second_type;
130
131 %traits_swigtype(T);
132 %traits_swigtype(U);
133
134 %fragment(SWIG_Traits_frag(std::pair<T*,U* >), "header",
135 fragment=SWIG_Traits_frag(T),
136 fragment=SWIG_Traits_frag(U),
137 fragment="StdPairTraits") {
138 namespace swig {
139 template <> struct traits<std::pair<T*,U* > > {
140 typedef pointer_category category;
141 static const char* type_name() {
142 return "std::pair<" #T " *," #U " * >";
143 }
144 };
145 }
146 }
147
148 %typemap_traits(SWIG_TYPECHECK_PAIR, std::pair<T*,U* >);
149
150 pair();
151 pair(T* __a, U* __b);
152 pair(const pair& __p);
153
154 T* first;
155 U* second;
156
157 #ifdef %swig_pair_methods
158 // Add swig/language extra methods
159 %swig_pair_methods(std::pair<T*,U*>)
160 #endif
161 };
162
163 }
OLDNEW
« no previous file with comments | « swig/Lib/std/std_multiset.i ('k') | swig/Lib/std/std_queue.i » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698