Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / share / swig / 1.3.26 / mzscheme / std_pair.i
CommitLineData
920dae64
AT
1//
2// SWIG typemaps for std::pair
3// Luigi Ballabio
4// July 2003
5//
6// MzScheme implementation
7
8%include std_common.i
9%include exception.i
10
11
12// ------------------------------------------------------------------------
13// std::pair
14//
15// See std_vector.i for the rationale of typemap application
16// ------------------------------------------------------------------------
17
18%{
19#include <utility>
20%}
21
22// exported class
23
24namespace std {
25
26 template<class T, class U> struct pair {
27 %typemap(in) pair<T,U> (std::pair<T,U>* m) {
28 if (SCHEME_PAIRP($input)) {
29 T* x;
30 U* y;
31 Scheme_Object *first, *second;
32 first = scheme_car($input);
33 second = scheme_cdr($input);
34 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
35 y = (U*) SWIG_MustGetPtr(second,$descriptor(U *),$argnum, 0);
36 $1 = make_pair(x,y);
37 } else {
38 $1 = *(($&1_type)
39 SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
40 }
41 }
42 %typemap(in) const pair<T,U>& (std::pair<T,U> temp,
43 std::pair<T,U>* m),
44 const pair<T,U>* (std::pair<T,U> temp,
45 std::pair<T,U>* m) {
46 if (SCHEME_PAIRP($input)) {
47 T* x;
48 U* y;
49 Scheme_Object *first, *second;
50 first = scheme_car($input);
51 second = scheme_cdr($input);
52 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
53 y = (U*) SWIG_MustGetPtr(second,$descriptor(U *),$argnum, 0);
54 temp = make_pair(x,y);
55 $1 = &temp;
56 } else {
57 $1 = ($1_ltype)
58 SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
59 }
60 }
61 %typemap(out) pair<T,U> {
62 T* x = new T($1.first);
63 U* y = new U($1.second);
64 Scheme_Object* first = SWIG_NewPointerObj(x,$descriptor(T *), 1);
65 Scheme_Object* second = SWIG_NewPointerObj(y,$descriptor(U *), 1);
66 $result = scheme_make_pair(first,second);
67 }
68 %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
69 /* native pair? */
70 if (SCHEME_PAIRP($input)) {
71 T* x;
72 U* y;
73 Scheme_Object* first = scheme_car($input);
74 Scheme_Object* second = scheme_cdr($input);
75 if (SWIG_ConvertPtr(first,(void**) &x,
76 $descriptor(T *), 0) != -1 &&
77 SWIG_ConvertPtr(second,(void**) &y,
78 $descriptor(U *), 0) != -1) {
79 $1 = 1;
80 } else {
81 $1 = 0;
82 }
83 } else {
84 /* wrapped pair? */
85 std::pair<T,U >* p;
86 if (SWIG_ConvertPtr($input,(void **) &p,
87 $&1_descriptor, 0) != -1)
88 $1 = 1;
89 else
90 $1 = 0;
91 }
92 }
93 %typecheck(SWIG_TYPECHECK_PAIR) const pair<T,U>&,
94 const pair<T,U>* {
95 /* native pair? */
96 if (SCHEME_PAIRP($input)) {
97 T* x;
98 U* y;
99 Scheme_Object* first = scheme_car($input);
100 Scheme_Object* second = scheme_cdr($input);
101 if (SWIG_ConvertPtr(first,(void**) &x,
102 $descriptor(T *), 0) != -1 &&
103 SWIG_ConvertPtr(second,(void**) &y,
104 $descriptor(U *), 0) != -1) {
105 $1 = 1;
106 } else {
107 $1 = 0;
108 }
109 } else {
110 /* wrapped pair? */
111 std::pair<T,U >* p;
112 if (SWIG_ConvertPtr($input,(void **) &p,
113 $1_descriptor, 0) != -1)
114 $1 = 1;
115 else
116 $1 = 0;
117 }
118 }
119 pair();
120 pair(T first, U second);
121 pair(const pair& p);
122
123 template <class U1, class U2> pair(const pair<U1, U2> &p);
124
125 T first;
126 U second;
127 };
128
129 // specializations for built-ins
130
131 %define specialize_std_pair_on_first(T,CHECK,CONVERT_FROM,CONVERT_TO)
132 template<class U> struct pair<T,U> {
133 %typemap(in) pair<T,U> (std::pair<T,U>* m) {
134 if (SCHEME_PAIRP($input)) {
135 U* y;
136 Scheme_Object *first, *second;
137 first = scheme_car($input);
138 second = scheme_cdr($input);
139 if (!CHECK(first))
140 SWIG_exception(SWIG_TypeError,
141 "pair<" #T "," #U "> expected");
142 y = (U*) SWIG_MustGetPtr(second,$descriptor(U *),$argnum, 0);
143 $1 = make_pair(CONVERT_FROM(first),y);
144 } else {
145 $1 = *(($&1_type)
146 SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
147 }
148 }
149 %typemap(in) const pair<T,U>& (std::pair<T,U> temp,
150 std::pair<T,U>* m),
151 const pair<T,U>* (std::pair<T,U> temp,
152 std::pair<T,U>* m) {
153 if (SCHEME_PAIRP($input)) {
154 U* y;
155 Scheme_Object *first, *second;
156 first = scheme_car($input);
157 second = scheme_cdr($input);
158 if (!CHECK(first))
159 SWIG_exception(SWIG_TypeError,
160 "pair<" #T "," #U "> expected");
161 y = (U*) SWIG_MustGetPtr(second,$descriptor(U *),$argnum, 0);
162 temp = make_pair(CONVERT_FROM(first),y);
163 $1 = &temp;
164 } else {
165 $1 = ($1_ltype)
166 SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
167 }
168 }
169 %typemap(out) pair<T,U> {
170 U* y = new U($1.second);
171 Scheme_Object* second = SWIG_NewPointerObj(y,$descriptor(U *), 1);
172 $result = scheme_make_pair(CONVERT_TO($1.first),second);
173 }
174 %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
175 /* native pair? */
176 if (SCHEME_PAIRP($input)) {
177 U* y;
178 Scheme_Object* first = scheme_car($input);
179 Scheme_Object* second = scheme_cdr($input);
180 if (CHECK(first) &&
181 SWIG_ConvertPtr(second,(void**) &y,
182 $descriptor(U *), 0) != -1) {
183 $1 = 1;
184 } else {
185 $1 = 0;
186 }
187 } else {
188 /* wrapped pair? */
189 std::pair<T,U >* p;
190 if (SWIG_ConvertPtr($input,(void **) &p,
191 $&1_descriptor, 0) != -1)
192 $1 = 1;
193 else
194 $1 = 0;
195 }
196 }
197 %typecheck(SWIG_TYPECHECK_PAIR) const pair<T,U>&,
198 const pair<T,U>* {
199 /* native pair? */
200 if (SCHEME_PAIRP($input)) {
201 U* y;
202 Scheme_Object* first = scheme_car($input);
203 Scheme_Object* second = scheme_cdr($input);
204 if (CHECK(first) &&
205 SWIG_ConvertPtr(second,(void**) &y,
206 $descriptor(U *), 0) != -1) {
207 $1 = 1;
208 } else {
209 $1 = 0;
210 }
211 } else {
212 /* wrapped pair? */
213 std::pair<T,U >* p;
214 if (SWIG_ConvertPtr($input,(void **) &p,
215 $1_descriptor, 0) != -1)
216 $1 = 1;
217 else
218 $1 = 0;
219 }
220 }
221 pair();
222 pair(T first, U second);
223 pair(const pair& p);
224
225 template <class U1, class U2> pair(const pair<U1, U2> &p);
226
227 T first;
228 U second;
229 };
230 %enddef
231
232 %define specialize_std_pair_on_second(U,CHECK,CONVERT_FROM,CONVERT_TO)
233 template<class T> struct pair<T,U> {
234 %typemap(in) pair<T,U> (std::pair<T,U>* m) {
235 if (SCHEME_PAIRP($input)) {
236 T* x;
237 Scheme_Object *first, *second;
238 first = scheme_car($input);
239 second = scheme_cdr($input);
240 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
241 if (!CHECK(second))
242 SWIG_exception(SWIG_TypeError,
243 "pair<" #T "," #U "> expected");
244 $1 = make_pair(x,CONVERT_FROM(second));
245 } else {
246 $1 = *(($&1_type)
247 SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
248 }
249 }
250 %typemap(in) const pair<T,U>& (std::pair<T,U> temp,
251 std::pair<T,U>* m),
252 const pair<T,U>* (std::pair<T,U> temp,
253 std::pair<T,U>* m) {
254 if (SCHEME_PAIRP($input)) {
255 T* x;
256 Scheme_Object *first, *second;
257 first = scheme_car($input);
258 second = scheme_cdr($input);
259 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
260 if (!CHECK(second))
261 SWIG_exception(SWIG_TypeError,
262 "pair<" #T "," #U "> expected");
263 temp = make_pair(x,CONVERT_FROM(second));
264 $1 = &temp;
265 } else {
266 $1 = ($1_ltype)
267 SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
268 }
269 }
270 %typemap(out) pair<T,U> {
271 T* x = new T($1.first);
272 Scheme_Object* first = SWIG_NewPointerObj(x,$descriptor(T *), 1);
273 $result = scheme_make_pair(first,CONVERT_TO($1.second));
274 }
275 %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
276 /* native pair? */
277 if (SCHEME_PAIRP($input)) {
278 T* x;
279 Scheme_Object* first = scheme_car($input);
280 Scheme_Object* second = scheme_cdr($input);
281 if (SWIG_ConvertPtr(first,(void**) &x,
282 $descriptor(T *), 0) != -1 &&
283 CHECK(second)) {
284 $1 = 1;
285 } else {
286 $1 = 0;
287 }
288 } else {
289 /* wrapped pair? */
290 std::pair<T,U >* p;
291 if (SWIG_ConvertPtr($input,(void **) &p,
292 $&1_descriptor, 0) != -1)
293 $1 = 1;
294 else
295 $1 = 0;
296 }
297 }
298 %typecheck(SWIG_TYPECHECK_PAIR) const pair<T,U>&,
299 const pair<T,U>* {
300 /* native pair? */
301 if (SCHEME_PAIRP($input)) {
302 T* x;
303 Scheme_Object* first = scheme_car($input);
304 Scheme_Object* second = scheme_cdr($input);
305 if (SWIG_ConvertPtr(first,(void**) &x,
306 $descriptor(T *), 0) != -1 &&
307 CHECK(second)) {
308 $1 = 1;
309 } else {
310 $1 = 0;
311 }
312 } else {
313 /* wrapped pair? */
314 std::pair<T,U >* p;
315 if (SWIG_ConvertPtr($input,(void **) &p,
316 $1_descriptor, 0) != -1)
317 $1 = 1;
318 else
319 $1 = 0;
320 }
321 }
322 pair();
323 pair(T first, U second);
324 pair(const pair& p);
325
326 template <class U1, class U2> pair(const pair<U1, U2> &p);
327
328 T first;
329 U second;
330 };
331 %enddef
332
333 %define specialize_std_pair_on_both(T,CHECK_T,CONVERT_T_FROM,CONVERT_T_TO,
334 U,CHECK_U,CONVERT_U_FROM,CONVERT_U_TO)
335 template<> struct pair<T,U> {
336 %typemap(in) pair<T,U> (std::pair<T,U>* m) {
337 if (SCHEME_PAIRP($input)) {
338 Scheme_Object *first, *second;
339 first = scheme_car($input);
340 second = scheme_cdr($input);
341 if (!CHECK_T(first) || !CHECK_U(second))
342 SWIG_exception(SWIG_TypeError,
343 "pair<" #T "," #U "> expected");
344 $1 = make_pair(CONVERT_T_FROM(first),
345 CONVERT_U_FROM(second));
346 } else {
347 $1 = *(($&1_type)
348 SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
349 }
350 }
351 %typemap(in) const pair<T,U>& (std::pair<T,U> temp,
352 std::pair<T,U>* m),
353 const pair<T,U>* (std::pair<T,U> temp,
354 std::pair<T,U>* m) {
355 if (SCHEME_PAIRP($input)) {
356 Scheme_Object *first, *second;
357 T *x;
358 first = scheme_car($input);
359 second = scheme_cdr($input);
360 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
361 if (!CHECK_T(first) || !CHECK_U(second))
362 SWIG_exception(SWIG_TypeError,
363 "pair<" #T "," #U "> expected");
364 temp = make_pair(CONVERT_T_FROM(first),
365 CONVERT_U_FROM(second));
366 $1 = &temp;
367 } else {
368 $1 = ($1_ltype)
369 SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
370 }
371 }
372 %typemap(out) pair<T,U> {
373 $result = scheme_make_pair(CONVERT_T_TO($1.first),
374 CONVERT_U_TO($1.second));
375 }
376 %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
377 /* native pair? */
378 if (SCHEME_PAIRP($input)) {
379 Scheme_Object* first = scheme_car($input);
380 Scheme_Object* second = scheme_cdr($input);
381 if (CHECK_T(first) && CHECK_U(second)) {
382 $1 = 1;
383 } else {
384 $1 = 0;
385 }
386 } else {
387 /* wrapped pair? */
388 std::pair<T,U >* p;
389 if (SWIG_ConvertPtr($input,(void **) &p,
390 $&1_descriptor, 0) != -1)
391 $1 = 1;
392 else
393 $1 = 0;
394 }
395 }
396 %typecheck(SWIG_TYPECHECK_PAIR) const pair<T,U>&,
397 const pair<T,U>* {
398 /* native pair? */
399 if (SCHEME_PAIRP($input)) {
400 Scheme_Object* first = scheme_car($input);
401 Scheme_Object* second = scheme_cdr($input);
402 if (CHECK_T(first) && CHECK_U(second)) {
403 $1 = 1;
404 } else {
405 $1 = 0;
406 }
407 } else {
408 /* wrapped pair? */
409 std::pair<T,U >* p;
410 if (SWIG_ConvertPtr($input,(void **) &p,
411 $1_descriptor, 0) != -1)
412 $1 = 1;
413 else
414 $1 = 0;
415 }
416 }
417 pair();
418 pair(T first, U second);
419 pair(const pair& p);
420
421 template <class U1, class U2> pair(const pair<U1, U2> &p);
422
423 T first;
424 U second;
425 };
426 %enddef
427
428
429 specialize_std_pair_on_first(bool,SCHEME_BOOLP,
430 SCHEME_TRUEP,swig_make_boolean);
431 specialize_std_pair_on_first(int,SCHEME_INTP,
432 SCHEME_INT_VAL,scheme_make_integer_value);
433 specialize_std_pair_on_first(short,SCHEME_INTP,
434 SCHEME_INT_VAL,scheme_make_integer_value);
435 specialize_std_pair_on_first(long,SCHEME_INTP,
436 SCHEME_INT_VAL,scheme_make_integer_value);
437 specialize_std_pair_on_first(unsigned int,SCHEME_INTP,
438 SCHEME_INT_VAL,scheme_make_integer_value);
439 specialize_std_pair_on_first(unsigned short,SCHEME_INTP,
440 SCHEME_INT_VAL,scheme_make_integer_value);
441 specialize_std_pair_on_first(unsigned long,SCHEME_INTP,
442 SCHEME_INT_VAL,scheme_make_integer_value);
443 specialize_std_pair_on_first(double,SCHEME_REALP,
444 scheme_real_to_double,scheme_make_double);
445 specialize_std_pair_on_first(float,SCHEME_REALP,
446 scheme_real_to_double,scheme_make_double);
447 specialize_std_pair_on_first(std::string,SCHEME_STRINGP,
448 swig_scm_to_string,swig_make_string);
449
450 specialize_std_pair_on_second(bool,SCHEME_BOOLP,
451 SCHEME_TRUEP,swig_make_boolean);
452 specialize_std_pair_on_second(int,SCHEME_INTP,
453 SCHEME_INT_VAL,scheme_make_integer_value);
454 specialize_std_pair_on_second(short,SCHEME_INTP,
455 SCHEME_INT_VAL,scheme_make_integer_value);
456 specialize_std_pair_on_second(long,SCHEME_INTP,
457 SCHEME_INT_VAL,scheme_make_integer_value);
458 specialize_std_pair_on_second(unsigned int,SCHEME_INTP,
459 SCHEME_INT_VAL,scheme_make_integer_value);
460 specialize_std_pair_on_second(unsigned short,SCHEME_INTP,
461 SCHEME_INT_VAL,scheme_make_integer_value);
462 specialize_std_pair_on_second(unsigned long,SCHEME_INTP,
463 SCHEME_INT_VAL,scheme_make_integer_value);
464 specialize_std_pair_on_second(double,SCHEME_REALP,
465 scheme_real_to_double,scheme_make_double);
466 specialize_std_pair_on_second(float,SCHEME_REALP,
467 scheme_real_to_double,scheme_make_double);
468 specialize_std_pair_on_second(std::string,SCHEME_STRINGP,
469 swig_scm_to_string,swig_make_string);
470
471 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
472 SCHEME_TRUEP,swig_make_boolean,
473 bool,SCHEME_BOOLP,
474 SCHEME_TRUEP,swig_make_boolean);
475 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
476 SCHEME_TRUEP,swig_make_boolean,
477 int,SCHEME_INTP,
478 SCHEME_INT_VAL,scheme_make_integer_value);
479 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
480 SCHEME_TRUEP,swig_make_boolean,
481 short,SCHEME_INTP,
482 SCHEME_INT_VAL,scheme_make_integer_value);
483 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
484 SCHEME_TRUEP,swig_make_boolean,
485 long,SCHEME_INTP,
486 SCHEME_INT_VAL,scheme_make_integer_value);
487 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
488 SCHEME_TRUEP,swig_make_boolean,
489 unsigned int,SCHEME_INTP,
490 SCHEME_INT_VAL,scheme_make_integer_value);
491 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
492 SCHEME_TRUEP,swig_make_boolean,
493 unsigned short,SCHEME_INTP,
494 SCHEME_INT_VAL,scheme_make_integer_value);
495 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
496 SCHEME_TRUEP,swig_make_boolean,
497 unsigned long,SCHEME_INTP,
498 SCHEME_INT_VAL,scheme_make_integer_value);
499 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
500 SCHEME_TRUEP,swig_make_boolean,
501 double,SCHEME_REALP,
502 scheme_real_to_double,scheme_make_double);
503 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
504 SCHEME_TRUEP,swig_make_boolean,
505 float,SCHEME_REALP,
506 scheme_real_to_double,scheme_make_double);
507 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
508 SCHEME_TRUEP,swig_make_boolean,
509 std::string,SCHEME_STRINGP,
510 swig_scm_to_string,swig_make_string);
511 specialize_std_pair_on_both(int,SCHEME_INTP,
512 SCHEME_INT_VAL,scheme_make_integer_value,
513 bool,SCHEME_BOOLP,
514 SCHEME_TRUEP,swig_make_boolean);
515 specialize_std_pair_on_both(int,SCHEME_INTP,
516 SCHEME_INT_VAL,scheme_make_integer_value,
517 int,SCHEME_INTP,
518 SCHEME_INT_VAL,scheme_make_integer_value);
519 specialize_std_pair_on_both(int,SCHEME_INTP,
520 SCHEME_INT_VAL,scheme_make_integer_value,
521 short,SCHEME_INTP,
522 SCHEME_INT_VAL,scheme_make_integer_value);
523 specialize_std_pair_on_both(int,SCHEME_INTP,
524 SCHEME_INT_VAL,scheme_make_integer_value,
525 long,SCHEME_INTP,
526 SCHEME_INT_VAL,scheme_make_integer_value);
527 specialize_std_pair_on_both(int,SCHEME_INTP,
528 SCHEME_INT_VAL,scheme_make_integer_value,
529 unsigned int,SCHEME_INTP,
530 SCHEME_INT_VAL,scheme_make_integer_value);
531 specialize_std_pair_on_both(int,SCHEME_INTP,
532 SCHEME_INT_VAL,scheme_make_integer_value,
533 unsigned short,SCHEME_INTP,
534 SCHEME_INT_VAL,scheme_make_integer_value);
535 specialize_std_pair_on_both(int,SCHEME_INTP,
536 SCHEME_INT_VAL,scheme_make_integer_value,
537 unsigned long,SCHEME_INTP,
538 SCHEME_INT_VAL,scheme_make_integer_value);
539 specialize_std_pair_on_both(int,SCHEME_INTP,
540 SCHEME_INT_VAL,scheme_make_integer_value,
541 double,SCHEME_REALP,
542 scheme_real_to_double,scheme_make_double);
543 specialize_std_pair_on_both(int,SCHEME_INTP,
544 SCHEME_INT_VAL,scheme_make_integer_value,
545 float,SCHEME_REALP,
546 scheme_real_to_double,scheme_make_double);
547 specialize_std_pair_on_both(int,SCHEME_INTP,
548 SCHEME_INT_VAL,scheme_make_integer_value,
549 std::string,SCHEME_STRINGP,
550 swig_scm_to_string,swig_make_string);
551 specialize_std_pair_on_both(short,SCHEME_INTP,
552 SCHEME_INT_VAL,scheme_make_integer_value,
553 bool,SCHEME_BOOLP,
554 SCHEME_TRUEP,swig_make_boolean);
555 specialize_std_pair_on_both(short,SCHEME_INTP,
556 SCHEME_INT_VAL,scheme_make_integer_value,
557 int,SCHEME_INTP,
558 SCHEME_INT_VAL,scheme_make_integer_value);
559 specialize_std_pair_on_both(short,SCHEME_INTP,
560 SCHEME_INT_VAL,scheme_make_integer_value,
561 short,SCHEME_INTP,
562 SCHEME_INT_VAL,scheme_make_integer_value);
563 specialize_std_pair_on_both(short,SCHEME_INTP,
564 SCHEME_INT_VAL,scheme_make_integer_value,
565 long,SCHEME_INTP,
566 SCHEME_INT_VAL,scheme_make_integer_value);
567 specialize_std_pair_on_both(short,SCHEME_INTP,
568 SCHEME_INT_VAL,scheme_make_integer_value,
569 unsigned int,SCHEME_INTP,
570 SCHEME_INT_VAL,scheme_make_integer_value);
571 specialize_std_pair_on_both(short,SCHEME_INTP,
572 SCHEME_INT_VAL,scheme_make_integer_value,
573 unsigned short,SCHEME_INTP,
574 SCHEME_INT_VAL,scheme_make_integer_value);
575 specialize_std_pair_on_both(short,SCHEME_INTP,
576 SCHEME_INT_VAL,scheme_make_integer_value,
577 unsigned long,SCHEME_INTP,
578 SCHEME_INT_VAL,scheme_make_integer_value);
579 specialize_std_pair_on_both(short,SCHEME_INTP,
580 SCHEME_INT_VAL,scheme_make_integer_value,
581 double,SCHEME_REALP,
582 scheme_real_to_double,scheme_make_double);
583 specialize_std_pair_on_both(short,SCHEME_INTP,
584 SCHEME_INT_VAL,scheme_make_integer_value,
585 float,SCHEME_REALP,
586 scheme_real_to_double,scheme_make_double);
587 specialize_std_pair_on_both(short,SCHEME_INTP,
588 SCHEME_INT_VAL,scheme_make_integer_value,
589 std::string,SCHEME_STRINGP,
590 swig_scm_to_string,swig_make_string);
591 specialize_std_pair_on_both(long,SCHEME_INTP,
592 SCHEME_INT_VAL,scheme_make_integer_value,
593 bool,SCHEME_BOOLP,
594 SCHEME_TRUEP,swig_make_boolean);
595 specialize_std_pair_on_both(long,SCHEME_INTP,
596 SCHEME_INT_VAL,scheme_make_integer_value,
597 int,SCHEME_INTP,
598 SCHEME_INT_VAL,scheme_make_integer_value);
599 specialize_std_pair_on_both(long,SCHEME_INTP,
600 SCHEME_INT_VAL,scheme_make_integer_value,
601 short,SCHEME_INTP,
602 SCHEME_INT_VAL,scheme_make_integer_value);
603 specialize_std_pair_on_both(long,SCHEME_INTP,
604 SCHEME_INT_VAL,scheme_make_integer_value,
605 long,SCHEME_INTP,
606 SCHEME_INT_VAL,scheme_make_integer_value);
607 specialize_std_pair_on_both(long,SCHEME_INTP,
608 SCHEME_INT_VAL,scheme_make_integer_value,
609 unsigned int,SCHEME_INTP,
610 SCHEME_INT_VAL,scheme_make_integer_value);
611 specialize_std_pair_on_both(long,SCHEME_INTP,
612 SCHEME_INT_VAL,scheme_make_integer_value,
613 unsigned short,SCHEME_INTP,
614 SCHEME_INT_VAL,scheme_make_integer_value);
615 specialize_std_pair_on_both(long,SCHEME_INTP,
616 SCHEME_INT_VAL,scheme_make_integer_value,
617 unsigned long,SCHEME_INTP,
618 SCHEME_INT_VAL,scheme_make_integer_value);
619 specialize_std_pair_on_both(long,SCHEME_INTP,
620 SCHEME_INT_VAL,scheme_make_integer_value,
621 double,SCHEME_REALP,
622 scheme_real_to_double,scheme_make_double);
623 specialize_std_pair_on_both(long,SCHEME_INTP,
624 SCHEME_INT_VAL,scheme_make_integer_value,
625 float,SCHEME_REALP,
626 scheme_real_to_double,scheme_make_double);
627 specialize_std_pair_on_both(long,SCHEME_INTP,
628 SCHEME_INT_VAL,scheme_make_integer_value,
629 std::string,SCHEME_STRINGP,
630 swig_scm_to_string,swig_make_string);
631 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
632 SCHEME_INT_VAL,scheme_make_integer_value,
633 bool,SCHEME_BOOLP,
634 SCHEME_TRUEP,swig_make_boolean);
635 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
636 SCHEME_INT_VAL,scheme_make_integer_value,
637 int,SCHEME_INTP,
638 SCHEME_INT_VAL,scheme_make_integer_value);
639 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
640 SCHEME_INT_VAL,scheme_make_integer_value,
641 short,SCHEME_INTP,
642 SCHEME_INT_VAL,scheme_make_integer_value);
643 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
644 SCHEME_INT_VAL,scheme_make_integer_value,
645 long,SCHEME_INTP,
646 SCHEME_INT_VAL,scheme_make_integer_value);
647 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
648 SCHEME_INT_VAL,scheme_make_integer_value,
649 unsigned int,SCHEME_INTP,
650 SCHEME_INT_VAL,scheme_make_integer_value);
651 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
652 SCHEME_INT_VAL,scheme_make_integer_value,
653 unsigned short,SCHEME_INTP,
654 SCHEME_INT_VAL,scheme_make_integer_value);
655 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
656 SCHEME_INT_VAL,scheme_make_integer_value,
657 unsigned long,SCHEME_INTP,
658 SCHEME_INT_VAL,scheme_make_integer_value);
659 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
660 SCHEME_INT_VAL,scheme_make_integer_value,
661 double,SCHEME_REALP,
662 scheme_real_to_double,scheme_make_double);
663 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
664 SCHEME_INT_VAL,scheme_make_integer_value,
665 float,SCHEME_REALP,
666 scheme_real_to_double,scheme_make_double);
667 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
668 SCHEME_INT_VAL,scheme_make_integer_value,
669 std::string,SCHEME_STRINGP,
670 swig_scm_to_string,swig_make_string);
671 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
672 SCHEME_INT_VAL,scheme_make_integer_value,
673 bool,SCHEME_BOOLP,
674 SCHEME_TRUEP,swig_make_boolean);
675 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
676 SCHEME_INT_VAL,scheme_make_integer_value,
677 int,SCHEME_INTP,
678 SCHEME_INT_VAL,scheme_make_integer_value);
679 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
680 SCHEME_INT_VAL,scheme_make_integer_value,
681 short,SCHEME_INTP,
682 SCHEME_INT_VAL,scheme_make_integer_value);
683 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
684 SCHEME_INT_VAL,scheme_make_integer_value,
685 long,SCHEME_INTP,
686 SCHEME_INT_VAL,scheme_make_integer_value);
687 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
688 SCHEME_INT_VAL,scheme_make_integer_value,
689 unsigned int,SCHEME_INTP,
690 SCHEME_INT_VAL,scheme_make_integer_value);
691 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
692 SCHEME_INT_VAL,scheme_make_integer_value,
693 unsigned short,SCHEME_INTP,
694 SCHEME_INT_VAL,scheme_make_integer_value);
695 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
696 SCHEME_INT_VAL,scheme_make_integer_value,
697 unsigned long,SCHEME_INTP,
698 SCHEME_INT_VAL,scheme_make_integer_value);
699 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
700 SCHEME_INT_VAL,scheme_make_integer_value,
701 double,SCHEME_REALP,
702 scheme_real_to_double,scheme_make_double);
703 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
704 SCHEME_INT_VAL,scheme_make_integer_value,
705 float,SCHEME_REALP,
706 scheme_real_to_double,scheme_make_double);
707 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
708 SCHEME_INT_VAL,scheme_make_integer_value,
709 std::string,SCHEME_STRINGP,
710 swig_scm_to_string,swig_make_string);
711 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
712 SCHEME_INT_VAL,scheme_make_integer_value,
713 bool,SCHEME_BOOLP,
714 SCHEME_TRUEP,swig_make_boolean);
715 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
716 SCHEME_INT_VAL,scheme_make_integer_value,
717 int,SCHEME_INTP,
718 SCHEME_INT_VAL,scheme_make_integer_value);
719 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
720 SCHEME_INT_VAL,scheme_make_integer_value,
721 short,SCHEME_INTP,
722 SCHEME_INT_VAL,scheme_make_integer_value);
723 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
724 SCHEME_INT_VAL,scheme_make_integer_value,
725 long,SCHEME_INTP,
726 SCHEME_INT_VAL,scheme_make_integer_value);
727 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
728 SCHEME_INT_VAL,scheme_make_integer_value,
729 unsigned int,SCHEME_INTP,
730 SCHEME_INT_VAL,scheme_make_integer_value);
731 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
732 SCHEME_INT_VAL,scheme_make_integer_value,
733 unsigned short,SCHEME_INTP,
734 SCHEME_INT_VAL,scheme_make_integer_value);
735 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
736 SCHEME_INT_VAL,scheme_make_integer_value,
737 unsigned long,SCHEME_INTP,
738 SCHEME_INT_VAL,scheme_make_integer_value);
739 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
740 SCHEME_INT_VAL,scheme_make_integer_value,
741 double,SCHEME_REALP,
742 scheme_real_to_double,scheme_make_double);
743 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
744 SCHEME_INT_VAL,scheme_make_integer_value,
745 float,SCHEME_REALP,
746 scheme_real_to_double,scheme_make_double);
747 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
748 SCHEME_INT_VAL,scheme_make_integer_value,
749 std::string,SCHEME_STRINGP,
750 swig_scm_to_string,swig_make_string);
751 specialize_std_pair_on_both(double,SCHEME_REALP,
752 scheme_real_to_double,scheme_make_double,
753 bool,SCHEME_BOOLP,
754 SCHEME_TRUEP,swig_make_boolean);
755 specialize_std_pair_on_both(double,SCHEME_REALP,
756 scheme_real_to_double,scheme_make_double,
757 int,SCHEME_INTP,
758 SCHEME_INT_VAL,scheme_make_integer_value);
759 specialize_std_pair_on_both(double,SCHEME_REALP,
760 scheme_real_to_double,scheme_make_double,
761 short,SCHEME_INTP,
762 SCHEME_INT_VAL,scheme_make_integer_value);
763 specialize_std_pair_on_both(double,SCHEME_REALP,
764 scheme_real_to_double,scheme_make_double,
765 long,SCHEME_INTP,
766 SCHEME_INT_VAL,scheme_make_integer_value);
767 specialize_std_pair_on_both(double,SCHEME_REALP,
768 scheme_real_to_double,scheme_make_double,
769 unsigned int,SCHEME_INTP,
770 SCHEME_INT_VAL,scheme_make_integer_value);
771 specialize_std_pair_on_both(double,SCHEME_REALP,
772 scheme_real_to_double,scheme_make_double,
773 unsigned short,SCHEME_INTP,
774 SCHEME_INT_VAL,scheme_make_integer_value);
775 specialize_std_pair_on_both(double,SCHEME_REALP,
776 scheme_real_to_double,scheme_make_double,
777 unsigned long,SCHEME_INTP,
778 SCHEME_INT_VAL,scheme_make_integer_value);
779 specialize_std_pair_on_both(double,SCHEME_REALP,
780 scheme_real_to_double,scheme_make_double,
781 double,SCHEME_REALP,
782 scheme_real_to_double,scheme_make_double);
783 specialize_std_pair_on_both(double,SCHEME_REALP,
784 scheme_real_to_double,scheme_make_double,
785 float,SCHEME_REALP,
786 scheme_real_to_double,scheme_make_double);
787 specialize_std_pair_on_both(double,SCHEME_REALP,
788 scheme_real_to_double,scheme_make_double,
789 std::string,SCHEME_STRINGP,
790 swig_scm_to_string,swig_make_string);
791 specialize_std_pair_on_both(float,SCHEME_REALP,
792 scheme_real_to_double,scheme_make_double,
793 bool,SCHEME_BOOLP,
794 SCHEME_TRUEP,swig_make_boolean);
795 specialize_std_pair_on_both(float,SCHEME_REALP,
796 scheme_real_to_double,scheme_make_double,
797 int,SCHEME_INTP,
798 SCHEME_INT_VAL,scheme_make_integer_value);
799 specialize_std_pair_on_both(float,SCHEME_REALP,
800 scheme_real_to_double,scheme_make_double,
801 short,SCHEME_INTP,
802 SCHEME_INT_VAL,scheme_make_integer_value);
803 specialize_std_pair_on_both(float,SCHEME_REALP,
804 scheme_real_to_double,scheme_make_double,
805 long,SCHEME_INTP,
806 SCHEME_INT_VAL,scheme_make_integer_value);
807 specialize_std_pair_on_both(float,SCHEME_REALP,
808 scheme_real_to_double,scheme_make_double,
809 unsigned int,SCHEME_INTP,
810 SCHEME_INT_VAL,scheme_make_integer_value);
811 specialize_std_pair_on_both(float,SCHEME_REALP,
812 scheme_real_to_double,scheme_make_double,
813 unsigned short,SCHEME_INTP,
814 SCHEME_INT_VAL,scheme_make_integer_value);
815 specialize_std_pair_on_both(float,SCHEME_REALP,
816 scheme_real_to_double,scheme_make_double,
817 unsigned long,SCHEME_INTP,
818 SCHEME_INT_VAL,scheme_make_integer_value);
819 specialize_std_pair_on_both(float,SCHEME_REALP,
820 scheme_real_to_double,scheme_make_double,
821 double,SCHEME_REALP,
822 scheme_real_to_double,scheme_make_double);
823 specialize_std_pair_on_both(float,SCHEME_REALP,
824 scheme_real_to_double,scheme_make_double,
825 float,SCHEME_REALP,
826 scheme_real_to_double,scheme_make_double);
827 specialize_std_pair_on_both(float,SCHEME_REALP,
828 scheme_real_to_double,scheme_make_double,
829 std::string,SCHEME_STRINGP,
830 swig_scm_to_string,swig_make_string);
831 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
832 swig_scm_to_string,swig_make_string,
833 bool,SCHEME_BOOLP,
834 SCHEME_TRUEP,swig_make_boolean);
835 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
836 swig_scm_to_string,swig_make_string,
837 int,SCHEME_INTP,
838 SCHEME_INT_VAL,scheme_make_integer_value);
839 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
840 swig_scm_to_string,swig_make_string,
841 short,SCHEME_INTP,
842 SCHEME_INT_VAL,scheme_make_integer_value);
843 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
844 swig_scm_to_string,swig_make_string,
845 long,SCHEME_INTP,
846 SCHEME_INT_VAL,scheme_make_integer_value);
847 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
848 swig_scm_to_string,swig_make_string,
849 unsigned int,SCHEME_INTP,
850 SCHEME_INT_VAL,scheme_make_integer_value);
851 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
852 swig_scm_to_string,swig_make_string,
853 unsigned short,SCHEME_INTP,
854 SCHEME_INT_VAL,scheme_make_integer_value);
855 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
856 swig_scm_to_string,swig_make_string,
857 unsigned long,SCHEME_INTP,
858 SCHEME_INT_VAL,scheme_make_integer_value);
859 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
860 swig_scm_to_string,swig_make_string,
861 double,SCHEME_REALP,
862 scheme_real_to_double,scheme_make_double);
863 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
864 swig_scm_to_string,swig_make_string,
865 float,SCHEME_REALP,
866 scheme_real_to_double,scheme_make_double);
867 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
868 swig_scm_to_string,swig_make_string,
869 std::string,SCHEME_STRINGP,
870 swig_scm_to_string,swig_make_string);
871}