1 /* -----------------------------------------------------------------------------
2 * See the LICENSE file for information on copyright, usage and redistribution
3 * of SWIG, and the README file for authors - http://www.swig.org/release.html.
7 * SWIG typemaps for std::pair
8 * ----------------------------------------------------------------------------- */
10 %include <std_common.i>
11 %include <exception.i>
14 // ------------------------------------------------------------------------
17 // See std_vector.i for the rationale of typemap application
18 // ------------------------------------------------------------------------
28 template<class T, class U> struct pair {
29 %typemap(in) pair<T,U> (std::pair<T,U>* m) {
30 if (SCHEME_PAIRP($input)) {
33 Scheme_Object *first, *second;
34 first = scheme_car($input);
35 second = scheme_cdr($input);
36 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
37 y = (U*) SWIG_MustGetPtr(second,$descriptor(U *),$argnum, 0);
38 $1 = std::make_pair(*x,*y);
41 SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
44 %typemap(in) const pair<T,U>& (std::pair<T,U> temp,
46 const pair<T,U>* (std::pair<T,U> temp,
48 if (SCHEME_PAIRP($input)) {
51 Scheme_Object *first, *second;
52 first = scheme_car($input);
53 second = scheme_cdr($input);
54 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
55 y = (U*) SWIG_MustGetPtr(second,$descriptor(U *),$argnum, 0);
56 temp = std::make_pair(*x,*y);
60 SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
63 %typemap(out) pair<T,U> {
64 T* x = new T($1.first);
65 U* y = new U($1.second);
66 Scheme_Object* first = SWIG_NewPointerObj(x,$descriptor(T *), 1);
67 Scheme_Object* second = SWIG_NewPointerObj(y,$descriptor(U *), 1);
68 $result = scheme_make_pair(first,second);
70 %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
72 if (SCHEME_PAIRP($input)) {
75 Scheme_Object* first = scheme_car($input);
76 Scheme_Object* second = scheme_cdr($input);
77 if (SWIG_ConvertPtr(first,(void**) &x,
78 $descriptor(T *), 0) != -1 &&
79 SWIG_ConvertPtr(second,(void**) &y,
80 $descriptor(U *), 0) != -1) {
88 if (SWIG_ConvertPtr($input,(void **) &p,
89 $&1_descriptor, 0) != -1)
95 %typecheck(SWIG_TYPECHECK_PAIR) const pair<T,U>&,
98 if (SCHEME_PAIRP($input)) {
101 Scheme_Object* first = scheme_car($input);
102 Scheme_Object* second = scheme_cdr($input);
103 if (SWIG_ConvertPtr(first,(void**) &x,
104 $descriptor(T *), 0) != -1 &&
105 SWIG_ConvertPtr(second,(void**) &y,
106 $descriptor(U *), 0) != -1) {
114 if (SWIG_ConvertPtr($input,(void **) &p,
115 $1_descriptor, 0) != -1)
122 pair(T first, U second);
125 template <class U1, class U2> pair(const pair<U1, U2> &p);
131 // specializations for built-ins
133 %define specialize_std_pair_on_first(T,CHECK,CONVERT_FROM,CONVERT_TO)
134 template<class U> struct pair<T,U> {
135 %typemap(in) pair<T,U> (std::pair<T,U>* m) {
136 if (SCHEME_PAIRP($input)) {
138 Scheme_Object *first, *second;
139 first = scheme_car($input);
140 second = scheme_cdr($input);
142 SWIG_exception(SWIG_TypeError,
143 "pair<" #T "," #U "> expected");
144 y = (U*) SWIG_MustGetPtr(second,$descriptor(U *),$argnum, 0);
145 $1 = std::make_pair(CONVERT_FROM(first),*y);
148 SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
151 %typemap(in) const pair<T,U>& (std::pair<T,U> temp,
153 const pair<T,U>* (std::pair<T,U> temp,
155 if (SCHEME_PAIRP($input)) {
157 Scheme_Object *first, *second;
158 first = scheme_car($input);
159 second = scheme_cdr($input);
161 SWIG_exception(SWIG_TypeError,
162 "pair<" #T "," #U "> expected");
163 y = (U*) SWIG_MustGetPtr(second,$descriptor(U *),$argnum, 0);
164 temp = std::make_pair(CONVERT_FROM(first),*y);
168 SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
171 %typemap(out) pair<T,U> {
172 U* y = new U($1.second);
173 Scheme_Object* second = SWIG_NewPointerObj(y,$descriptor(U *), 1);
174 $result = scheme_make_pair(CONVERT_TO($1.first),second);
176 %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
178 if (SCHEME_PAIRP($input)) {
180 Scheme_Object* first = scheme_car($input);
181 Scheme_Object* second = scheme_cdr($input);
183 SWIG_ConvertPtr(second,(void**) &y,
184 $descriptor(U *), 0) != -1) {
192 if (SWIG_ConvertPtr($input,(void **) &p,
193 $&1_descriptor, 0) != -1)
199 %typecheck(SWIG_TYPECHECK_PAIR) const pair<T,U>&,
202 if (SCHEME_PAIRP($input)) {
204 Scheme_Object* first = scheme_car($input);
205 Scheme_Object* second = scheme_cdr($input);
207 SWIG_ConvertPtr(second,(void**) &y,
208 $descriptor(U *), 0) != -1) {
216 if (SWIG_ConvertPtr($input,(void **) &p,
217 $1_descriptor, 0) != -1)
224 pair(T first, U second);
227 template <class U1, class U2> pair(const pair<U1, U2> &p);
234 %define specialize_std_pair_on_second(U,CHECK,CONVERT_FROM,CONVERT_TO)
235 template<class T> struct pair<T,U> {
236 %typemap(in) pair<T,U> (std::pair<T,U>* m) {
237 if (SCHEME_PAIRP($input)) {
239 Scheme_Object *first, *second;
240 first = scheme_car($input);
241 second = scheme_cdr($input);
242 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
244 SWIG_exception(SWIG_TypeError,
245 "pair<" #T "," #U "> expected");
246 $1 = std::make_pair(*x,CONVERT_FROM(second));
249 SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
252 %typemap(in) const pair<T,U>& (std::pair<T,U> temp,
254 const pair<T,U>* (std::pair<T,U> temp,
256 if (SCHEME_PAIRP($input)) {
258 Scheme_Object *first, *second;
259 first = scheme_car($input);
260 second = scheme_cdr($input);
261 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
263 SWIG_exception(SWIG_TypeError,
264 "pair<" #T "," #U "> expected");
265 temp = std::make_pair(*x,CONVERT_FROM(second));
269 SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
272 %typemap(out) pair<T,U> {
273 T* x = new T($1.first);
274 Scheme_Object* first = SWIG_NewPointerObj(x,$descriptor(T *), 1);
275 $result = scheme_make_pair(first,CONVERT_TO($1.second));
277 %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
279 if (SCHEME_PAIRP($input)) {
281 Scheme_Object* first = scheme_car($input);
282 Scheme_Object* second = scheme_cdr($input);
283 if (SWIG_ConvertPtr(first,(void**) &x,
284 $descriptor(T *), 0) != -1 &&
293 if (SWIG_ConvertPtr($input,(void **) &p,
294 $&1_descriptor, 0) != -1)
300 %typecheck(SWIG_TYPECHECK_PAIR) const pair<T,U>&,
303 if (SCHEME_PAIRP($input)) {
305 Scheme_Object* first = scheme_car($input);
306 Scheme_Object* second = scheme_cdr($input);
307 if (SWIG_ConvertPtr(first,(void**) &x,
308 $descriptor(T *), 0) != -1 &&
317 if (SWIG_ConvertPtr($input,(void **) &p,
318 $1_descriptor, 0) != -1)
325 pair(T first, U second);
328 template <class U1, class U2> pair(const pair<U1, U2> &p);
335 %define specialize_std_pair_on_both(T,CHECK_T,CONVERT_T_FROM,CONVERT_T_TO,
336 U,CHECK_U,CONVERT_U_FROM,CONVERT_U_TO)
337 template<> struct pair<T,U> {
338 %typemap(in) pair<T,U> (std::pair<T,U>* m) {
339 if (SCHEME_PAIRP($input)) {
340 Scheme_Object *first, *second;
341 first = scheme_car($input);
342 second = scheme_cdr($input);
343 if (!CHECK_T(first) || !CHECK_U(second))
344 SWIG_exception(SWIG_TypeError,
345 "pair<" #T "," #U "> expected");
346 $1 = make_pair(CONVERT_T_FROM(first),
347 CONVERT_U_FROM(second));
350 SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
353 %typemap(in) const pair<T,U>& (std::pair<T,U> temp,
355 const pair<T,U>* (std::pair<T,U> temp,
357 if (SCHEME_PAIRP($input)) {
358 Scheme_Object *first, *second;
360 first = scheme_car($input);
361 second = scheme_cdr($input);
362 x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
363 if (!CHECK_T(first) || !CHECK_U(second))
364 SWIG_exception(SWIG_TypeError,
365 "pair<" #T "," #U "> expected");
366 temp = make_pair(CONVERT_T_FROM(first),
367 CONVERT_U_FROM(second));
371 SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
374 %typemap(out) pair<T,U> {
375 $result = scheme_make_pair(CONVERT_T_TO($1.first),
376 CONVERT_U_TO($1.second));
378 %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
380 if (SCHEME_PAIRP($input)) {
381 Scheme_Object* first = scheme_car($input);
382 Scheme_Object* second = scheme_cdr($input);
383 if (CHECK_T(first) && CHECK_U(second)) {
391 if (SWIG_ConvertPtr($input,(void **) &p,
392 $&1_descriptor, 0) != -1)
398 %typecheck(SWIG_TYPECHECK_PAIR) const pair<T,U>&,
401 if (SCHEME_PAIRP($input)) {
402 Scheme_Object* first = scheme_car($input);
403 Scheme_Object* second = scheme_cdr($input);
404 if (CHECK_T(first) && CHECK_U(second)) {
412 if (SWIG_ConvertPtr($input,(void **) &p,
413 $1_descriptor, 0) != -1)
420 pair(T first, U second);
423 template <class U1, class U2> pair(const pair<U1, U2> &p);
431 specialize_std_pair_on_first(bool,SCHEME_BOOLP,
432 SCHEME_TRUEP,swig_make_boolean);
433 specialize_std_pair_on_first(int,SCHEME_INTP,
434 SCHEME_INT_VAL,scheme_make_integer_value);
435 specialize_std_pair_on_first(short,SCHEME_INTP,
436 SCHEME_INT_VAL,scheme_make_integer_value);
437 specialize_std_pair_on_first(long,SCHEME_INTP,
438 SCHEME_INT_VAL,scheme_make_integer_value);
439 specialize_std_pair_on_first(unsigned int,SCHEME_INTP,
440 SCHEME_INT_VAL,scheme_make_integer_value);
441 specialize_std_pair_on_first(unsigned short,SCHEME_INTP,
442 SCHEME_INT_VAL,scheme_make_integer_value);
443 specialize_std_pair_on_first(unsigned long,SCHEME_INTP,
444 SCHEME_INT_VAL,scheme_make_integer_value);
445 specialize_std_pair_on_first(double,SCHEME_REALP,
446 scheme_real_to_double,scheme_make_double);
447 specialize_std_pair_on_first(float,SCHEME_REALP,
448 scheme_real_to_double,scheme_make_double);
449 specialize_std_pair_on_first(std::string,SCHEME_STRINGP,
450 swig_scm_to_string,swig_make_string);
452 specialize_std_pair_on_second(bool,SCHEME_BOOLP,
453 SCHEME_TRUEP,swig_make_boolean);
454 specialize_std_pair_on_second(int,SCHEME_INTP,
455 SCHEME_INT_VAL,scheme_make_integer_value);
456 specialize_std_pair_on_second(short,SCHEME_INTP,
457 SCHEME_INT_VAL,scheme_make_integer_value);
458 specialize_std_pair_on_second(long,SCHEME_INTP,
459 SCHEME_INT_VAL,scheme_make_integer_value);
460 specialize_std_pair_on_second(unsigned int,SCHEME_INTP,
461 SCHEME_INT_VAL,scheme_make_integer_value);
462 specialize_std_pair_on_second(unsigned short,SCHEME_INTP,
463 SCHEME_INT_VAL,scheme_make_integer_value);
464 specialize_std_pair_on_second(unsigned long,SCHEME_INTP,
465 SCHEME_INT_VAL,scheme_make_integer_value);
466 specialize_std_pair_on_second(double,SCHEME_REALP,
467 scheme_real_to_double,scheme_make_double);
468 specialize_std_pair_on_second(float,SCHEME_REALP,
469 scheme_real_to_double,scheme_make_double);
470 specialize_std_pair_on_second(std::string,SCHEME_STRINGP,
471 swig_scm_to_string,swig_make_string);
473 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
474 SCHEME_TRUEP,swig_make_boolean,
476 SCHEME_TRUEP,swig_make_boolean);
477 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
478 SCHEME_TRUEP,swig_make_boolean,
480 SCHEME_INT_VAL,scheme_make_integer_value);
481 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
482 SCHEME_TRUEP,swig_make_boolean,
484 SCHEME_INT_VAL,scheme_make_integer_value);
485 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
486 SCHEME_TRUEP,swig_make_boolean,
488 SCHEME_INT_VAL,scheme_make_integer_value);
489 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
490 SCHEME_TRUEP,swig_make_boolean,
491 unsigned int,SCHEME_INTP,
492 SCHEME_INT_VAL,scheme_make_integer_value);
493 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
494 SCHEME_TRUEP,swig_make_boolean,
495 unsigned short,SCHEME_INTP,
496 SCHEME_INT_VAL,scheme_make_integer_value);
497 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
498 SCHEME_TRUEP,swig_make_boolean,
499 unsigned long,SCHEME_INTP,
500 SCHEME_INT_VAL,scheme_make_integer_value);
501 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
502 SCHEME_TRUEP,swig_make_boolean,
504 scheme_real_to_double,scheme_make_double);
505 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
506 SCHEME_TRUEP,swig_make_boolean,
508 scheme_real_to_double,scheme_make_double);
509 specialize_std_pair_on_both(bool,SCHEME_BOOLP,
510 SCHEME_TRUEP,swig_make_boolean,
511 std::string,SCHEME_STRINGP,
512 swig_scm_to_string,swig_make_string);
513 specialize_std_pair_on_both(int,SCHEME_INTP,
514 SCHEME_INT_VAL,scheme_make_integer_value,
516 SCHEME_TRUEP,swig_make_boolean);
517 specialize_std_pair_on_both(int,SCHEME_INTP,
518 SCHEME_INT_VAL,scheme_make_integer_value,
520 SCHEME_INT_VAL,scheme_make_integer_value);
521 specialize_std_pair_on_both(int,SCHEME_INTP,
522 SCHEME_INT_VAL,scheme_make_integer_value,
524 SCHEME_INT_VAL,scheme_make_integer_value);
525 specialize_std_pair_on_both(int,SCHEME_INTP,
526 SCHEME_INT_VAL,scheme_make_integer_value,
528 SCHEME_INT_VAL,scheme_make_integer_value);
529 specialize_std_pair_on_both(int,SCHEME_INTP,
530 SCHEME_INT_VAL,scheme_make_integer_value,
531 unsigned int,SCHEME_INTP,
532 SCHEME_INT_VAL,scheme_make_integer_value);
533 specialize_std_pair_on_both(int,SCHEME_INTP,
534 SCHEME_INT_VAL,scheme_make_integer_value,
535 unsigned short,SCHEME_INTP,
536 SCHEME_INT_VAL,scheme_make_integer_value);
537 specialize_std_pair_on_both(int,SCHEME_INTP,
538 SCHEME_INT_VAL,scheme_make_integer_value,
539 unsigned long,SCHEME_INTP,
540 SCHEME_INT_VAL,scheme_make_integer_value);
541 specialize_std_pair_on_both(int,SCHEME_INTP,
542 SCHEME_INT_VAL,scheme_make_integer_value,
544 scheme_real_to_double,scheme_make_double);
545 specialize_std_pair_on_both(int,SCHEME_INTP,
546 SCHEME_INT_VAL,scheme_make_integer_value,
548 scheme_real_to_double,scheme_make_double);
549 specialize_std_pair_on_both(int,SCHEME_INTP,
550 SCHEME_INT_VAL,scheme_make_integer_value,
551 std::string,SCHEME_STRINGP,
552 swig_scm_to_string,swig_make_string);
553 specialize_std_pair_on_both(short,SCHEME_INTP,
554 SCHEME_INT_VAL,scheme_make_integer_value,
556 SCHEME_TRUEP,swig_make_boolean);
557 specialize_std_pair_on_both(short,SCHEME_INTP,
558 SCHEME_INT_VAL,scheme_make_integer_value,
560 SCHEME_INT_VAL,scheme_make_integer_value);
561 specialize_std_pair_on_both(short,SCHEME_INTP,
562 SCHEME_INT_VAL,scheme_make_integer_value,
564 SCHEME_INT_VAL,scheme_make_integer_value);
565 specialize_std_pair_on_both(short,SCHEME_INTP,
566 SCHEME_INT_VAL,scheme_make_integer_value,
568 SCHEME_INT_VAL,scheme_make_integer_value);
569 specialize_std_pair_on_both(short,SCHEME_INTP,
570 SCHEME_INT_VAL,scheme_make_integer_value,
571 unsigned int,SCHEME_INTP,
572 SCHEME_INT_VAL,scheme_make_integer_value);
573 specialize_std_pair_on_both(short,SCHEME_INTP,
574 SCHEME_INT_VAL,scheme_make_integer_value,
575 unsigned short,SCHEME_INTP,
576 SCHEME_INT_VAL,scheme_make_integer_value);
577 specialize_std_pair_on_both(short,SCHEME_INTP,
578 SCHEME_INT_VAL,scheme_make_integer_value,
579 unsigned long,SCHEME_INTP,
580 SCHEME_INT_VAL,scheme_make_integer_value);
581 specialize_std_pair_on_both(short,SCHEME_INTP,
582 SCHEME_INT_VAL,scheme_make_integer_value,
584 scheme_real_to_double,scheme_make_double);
585 specialize_std_pair_on_both(short,SCHEME_INTP,
586 SCHEME_INT_VAL,scheme_make_integer_value,
588 scheme_real_to_double,scheme_make_double);
589 specialize_std_pair_on_both(short,SCHEME_INTP,
590 SCHEME_INT_VAL,scheme_make_integer_value,
591 std::string,SCHEME_STRINGP,
592 swig_scm_to_string,swig_make_string);
593 specialize_std_pair_on_both(long,SCHEME_INTP,
594 SCHEME_INT_VAL,scheme_make_integer_value,
596 SCHEME_TRUEP,swig_make_boolean);
597 specialize_std_pair_on_both(long,SCHEME_INTP,
598 SCHEME_INT_VAL,scheme_make_integer_value,
600 SCHEME_INT_VAL,scheme_make_integer_value);
601 specialize_std_pair_on_both(long,SCHEME_INTP,
602 SCHEME_INT_VAL,scheme_make_integer_value,
604 SCHEME_INT_VAL,scheme_make_integer_value);
605 specialize_std_pair_on_both(long,SCHEME_INTP,
606 SCHEME_INT_VAL,scheme_make_integer_value,
608 SCHEME_INT_VAL,scheme_make_integer_value);
609 specialize_std_pair_on_both(long,SCHEME_INTP,
610 SCHEME_INT_VAL,scheme_make_integer_value,
611 unsigned int,SCHEME_INTP,
612 SCHEME_INT_VAL,scheme_make_integer_value);
613 specialize_std_pair_on_both(long,SCHEME_INTP,
614 SCHEME_INT_VAL,scheme_make_integer_value,
615 unsigned short,SCHEME_INTP,
616 SCHEME_INT_VAL,scheme_make_integer_value);
617 specialize_std_pair_on_both(long,SCHEME_INTP,
618 SCHEME_INT_VAL,scheme_make_integer_value,
619 unsigned long,SCHEME_INTP,
620 SCHEME_INT_VAL,scheme_make_integer_value);
621 specialize_std_pair_on_both(long,SCHEME_INTP,
622 SCHEME_INT_VAL,scheme_make_integer_value,
624 scheme_real_to_double,scheme_make_double);
625 specialize_std_pair_on_both(long,SCHEME_INTP,
626 SCHEME_INT_VAL,scheme_make_integer_value,
628 scheme_real_to_double,scheme_make_double);
629 specialize_std_pair_on_both(long,SCHEME_INTP,
630 SCHEME_INT_VAL,scheme_make_integer_value,
631 std::string,SCHEME_STRINGP,
632 swig_scm_to_string,swig_make_string);
633 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
634 SCHEME_INT_VAL,scheme_make_integer_value,
636 SCHEME_TRUEP,swig_make_boolean);
637 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
638 SCHEME_INT_VAL,scheme_make_integer_value,
640 SCHEME_INT_VAL,scheme_make_integer_value);
641 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
642 SCHEME_INT_VAL,scheme_make_integer_value,
644 SCHEME_INT_VAL,scheme_make_integer_value);
645 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
646 SCHEME_INT_VAL,scheme_make_integer_value,
648 SCHEME_INT_VAL,scheme_make_integer_value);
649 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
650 SCHEME_INT_VAL,scheme_make_integer_value,
651 unsigned int,SCHEME_INTP,
652 SCHEME_INT_VAL,scheme_make_integer_value);
653 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
654 SCHEME_INT_VAL,scheme_make_integer_value,
655 unsigned short,SCHEME_INTP,
656 SCHEME_INT_VAL,scheme_make_integer_value);
657 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
658 SCHEME_INT_VAL,scheme_make_integer_value,
659 unsigned long,SCHEME_INTP,
660 SCHEME_INT_VAL,scheme_make_integer_value);
661 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
662 SCHEME_INT_VAL,scheme_make_integer_value,
664 scheme_real_to_double,scheme_make_double);
665 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
666 SCHEME_INT_VAL,scheme_make_integer_value,
668 scheme_real_to_double,scheme_make_double);
669 specialize_std_pair_on_both(unsigned int,SCHEME_INTP,
670 SCHEME_INT_VAL,scheme_make_integer_value,
671 std::string,SCHEME_STRINGP,
672 swig_scm_to_string,swig_make_string);
673 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
674 SCHEME_INT_VAL,scheme_make_integer_value,
676 SCHEME_TRUEP,swig_make_boolean);
677 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
678 SCHEME_INT_VAL,scheme_make_integer_value,
680 SCHEME_INT_VAL,scheme_make_integer_value);
681 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
682 SCHEME_INT_VAL,scheme_make_integer_value,
684 SCHEME_INT_VAL,scheme_make_integer_value);
685 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
686 SCHEME_INT_VAL,scheme_make_integer_value,
688 SCHEME_INT_VAL,scheme_make_integer_value);
689 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
690 SCHEME_INT_VAL,scheme_make_integer_value,
691 unsigned int,SCHEME_INTP,
692 SCHEME_INT_VAL,scheme_make_integer_value);
693 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
694 SCHEME_INT_VAL,scheme_make_integer_value,
695 unsigned short,SCHEME_INTP,
696 SCHEME_INT_VAL,scheme_make_integer_value);
697 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
698 SCHEME_INT_VAL,scheme_make_integer_value,
699 unsigned long,SCHEME_INTP,
700 SCHEME_INT_VAL,scheme_make_integer_value);
701 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
702 SCHEME_INT_VAL,scheme_make_integer_value,
704 scheme_real_to_double,scheme_make_double);
705 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
706 SCHEME_INT_VAL,scheme_make_integer_value,
708 scheme_real_to_double,scheme_make_double);
709 specialize_std_pair_on_both(unsigned short,SCHEME_INTP,
710 SCHEME_INT_VAL,scheme_make_integer_value,
711 std::string,SCHEME_STRINGP,
712 swig_scm_to_string,swig_make_string);
713 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
714 SCHEME_INT_VAL,scheme_make_integer_value,
716 SCHEME_TRUEP,swig_make_boolean);
717 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
718 SCHEME_INT_VAL,scheme_make_integer_value,
720 SCHEME_INT_VAL,scheme_make_integer_value);
721 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
722 SCHEME_INT_VAL,scheme_make_integer_value,
724 SCHEME_INT_VAL,scheme_make_integer_value);
725 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
726 SCHEME_INT_VAL,scheme_make_integer_value,
728 SCHEME_INT_VAL,scheme_make_integer_value);
729 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
730 SCHEME_INT_VAL,scheme_make_integer_value,
731 unsigned int,SCHEME_INTP,
732 SCHEME_INT_VAL,scheme_make_integer_value);
733 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
734 SCHEME_INT_VAL,scheme_make_integer_value,
735 unsigned short,SCHEME_INTP,
736 SCHEME_INT_VAL,scheme_make_integer_value);
737 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
738 SCHEME_INT_VAL,scheme_make_integer_value,
739 unsigned long,SCHEME_INTP,
740 SCHEME_INT_VAL,scheme_make_integer_value);
741 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
742 SCHEME_INT_VAL,scheme_make_integer_value,
744 scheme_real_to_double,scheme_make_double);
745 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
746 SCHEME_INT_VAL,scheme_make_integer_value,
748 scheme_real_to_double,scheme_make_double);
749 specialize_std_pair_on_both(unsigned long,SCHEME_INTP,
750 SCHEME_INT_VAL,scheme_make_integer_value,
751 std::string,SCHEME_STRINGP,
752 swig_scm_to_string,swig_make_string);
753 specialize_std_pair_on_both(double,SCHEME_REALP,
754 scheme_real_to_double,scheme_make_double,
756 SCHEME_TRUEP,swig_make_boolean);
757 specialize_std_pair_on_both(double,SCHEME_REALP,
758 scheme_real_to_double,scheme_make_double,
760 SCHEME_INT_VAL,scheme_make_integer_value);
761 specialize_std_pair_on_both(double,SCHEME_REALP,
762 scheme_real_to_double,scheme_make_double,
764 SCHEME_INT_VAL,scheme_make_integer_value);
765 specialize_std_pair_on_both(double,SCHEME_REALP,
766 scheme_real_to_double,scheme_make_double,
768 SCHEME_INT_VAL,scheme_make_integer_value);
769 specialize_std_pair_on_both(double,SCHEME_REALP,
770 scheme_real_to_double,scheme_make_double,
771 unsigned int,SCHEME_INTP,
772 SCHEME_INT_VAL,scheme_make_integer_value);
773 specialize_std_pair_on_both(double,SCHEME_REALP,
774 scheme_real_to_double,scheme_make_double,
775 unsigned short,SCHEME_INTP,
776 SCHEME_INT_VAL,scheme_make_integer_value);
777 specialize_std_pair_on_both(double,SCHEME_REALP,
778 scheme_real_to_double,scheme_make_double,
779 unsigned long,SCHEME_INTP,
780 SCHEME_INT_VAL,scheme_make_integer_value);
781 specialize_std_pair_on_both(double,SCHEME_REALP,
782 scheme_real_to_double,scheme_make_double,
784 scheme_real_to_double,scheme_make_double);
785 specialize_std_pair_on_both(double,SCHEME_REALP,
786 scheme_real_to_double,scheme_make_double,
788 scheme_real_to_double,scheme_make_double);
789 specialize_std_pair_on_both(double,SCHEME_REALP,
790 scheme_real_to_double,scheme_make_double,
791 std::string,SCHEME_STRINGP,
792 swig_scm_to_string,swig_make_string);
793 specialize_std_pair_on_both(float,SCHEME_REALP,
794 scheme_real_to_double,scheme_make_double,
796 SCHEME_TRUEP,swig_make_boolean);
797 specialize_std_pair_on_both(float,SCHEME_REALP,
798 scheme_real_to_double,scheme_make_double,
800 SCHEME_INT_VAL,scheme_make_integer_value);
801 specialize_std_pair_on_both(float,SCHEME_REALP,
802 scheme_real_to_double,scheme_make_double,
804 SCHEME_INT_VAL,scheme_make_integer_value);
805 specialize_std_pair_on_both(float,SCHEME_REALP,
806 scheme_real_to_double,scheme_make_double,
808 SCHEME_INT_VAL,scheme_make_integer_value);
809 specialize_std_pair_on_both(float,SCHEME_REALP,
810 scheme_real_to_double,scheme_make_double,
811 unsigned int,SCHEME_INTP,
812 SCHEME_INT_VAL,scheme_make_integer_value);
813 specialize_std_pair_on_both(float,SCHEME_REALP,
814 scheme_real_to_double,scheme_make_double,
815 unsigned short,SCHEME_INTP,
816 SCHEME_INT_VAL,scheme_make_integer_value);
817 specialize_std_pair_on_both(float,SCHEME_REALP,
818 scheme_real_to_double,scheme_make_double,
819 unsigned long,SCHEME_INTP,
820 SCHEME_INT_VAL,scheme_make_integer_value);
821 specialize_std_pair_on_both(float,SCHEME_REALP,
822 scheme_real_to_double,scheme_make_double,
824 scheme_real_to_double,scheme_make_double);
825 specialize_std_pair_on_both(float,SCHEME_REALP,
826 scheme_real_to_double,scheme_make_double,
828 scheme_real_to_double,scheme_make_double);
829 specialize_std_pair_on_both(float,SCHEME_REALP,
830 scheme_real_to_double,scheme_make_double,
831 std::string,SCHEME_STRINGP,
832 swig_scm_to_string,swig_make_string);
833 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
834 swig_scm_to_string,swig_make_string,
836 SCHEME_TRUEP,swig_make_boolean);
837 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
838 swig_scm_to_string,swig_make_string,
840 SCHEME_INT_VAL,scheme_make_integer_value);
841 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
842 swig_scm_to_string,swig_make_string,
844 SCHEME_INT_VAL,scheme_make_integer_value);
845 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
846 swig_scm_to_string,swig_make_string,
848 SCHEME_INT_VAL,scheme_make_integer_value);
849 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
850 swig_scm_to_string,swig_make_string,
851 unsigned int,SCHEME_INTP,
852 SCHEME_INT_VAL,scheme_make_integer_value);
853 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
854 swig_scm_to_string,swig_make_string,
855 unsigned short,SCHEME_INTP,
856 SCHEME_INT_VAL,scheme_make_integer_value);
857 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
858 swig_scm_to_string,swig_make_string,
859 unsigned long,SCHEME_INTP,
860 SCHEME_INT_VAL,scheme_make_integer_value);
861 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
862 swig_scm_to_string,swig_make_string,
864 scheme_real_to_double,scheme_make_double);
865 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
866 swig_scm_to_string,swig_make_string,
868 scheme_real_to_double,scheme_make_double);
869 specialize_std_pair_on_both(std::string,SCHEME_STRINGP,
870 swig_scm_to_string,swig_make_string,
871 std::string,SCHEME_STRINGP,
872 swig_scm_to_string,swig_make_string);