Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

873 lines
43 KiB

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