PageRenderTime 47ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/tags/rel-1.3.35/Lib/guile/std_pair.i

#
Swig | 871 lines | 824 code | 23 blank | 24 comment | 0 complexity | 86710b40c524f78b092b4a4b8399a534 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  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 (gh_pair_p($input)) {
  24. T* x;
  25. U* y;
  26. SCM first, second;
  27. first = gh_car($input);
  28. second = gh_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 (gh_pair_p($input)) {
  42. T* x;
  43. U* y;
  44. SCM first, second;
  45. first = gh_car($input);
  46. second = gh_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. SCM first = SWIG_NewPointerObj(x,$descriptor(T *), 1);
  60. SCM second = SWIG_NewPointerObj(y,$descriptor(U *), 1);
  61. $result = gh_cons(first,second);
  62. }
  63. %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
  64. /* native pair? */
  65. if (gh_pair_p($input)) {
  66. T* x;
  67. U* y;
  68. SCM first = gh_car($input);
  69. SCM second = gh_cdr($input);
  70. if (SWIG_ConvertPtr(first,(void**) &x,
  71. $descriptor(T *), 0) == 0 &&
  72. SWIG_ConvertPtr(second,(void**) &y,
  73. $descriptor(U *), 0) == 0) {
  74. $1 = 1;
  75. } else {
  76. $1 = 0;
  77. }
  78. } else {
  79. /* wrapped pair? */
  80. std::pair<T,U >* m;
  81. if (SWIG_ConvertPtr($input,(void **) &m,
  82. $&1_descriptor, 0) == 0)
  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 (gh_pair_p($input)) {
  92. T* x;
  93. U* y;
  94. SCM first = gh_car($input);
  95. SCM second = gh_cdr($input);
  96. if (SWIG_ConvertPtr(first,(void**) &x,
  97. $descriptor(T *), 0) == 0 &&
  98. SWIG_ConvertPtr(second,(void**) &y,
  99. $descriptor(U *), 0) == 0) {
  100. $1 = 1;
  101. } else {
  102. $1 = 0;
  103. }
  104. } else {
  105. /* wrapped pair? */
  106. std::pair<T,U >* m;
  107. if (SWIG_ConvertPtr($input,(void **) &m,
  108. $1_descriptor, 0) == 0)
  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 (gh_pair_p($input)) {
  126. U* y;
  127. SCM first, second;
  128. first = gh_car($input);
  129. second = gh_cdr($input);
  130. if (!CHECK(first))
  131. SWIG_exception(SWIG_TypeError,
  132. "map<" #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 (gh_pair_p($input)) {
  145. U* y;
  146. SCM first, second;
  147. first = gh_car($input);
  148. second = gh_cdr($input);
  149. if (!CHECK(first))
  150. SWIG_exception(SWIG_TypeError,
  151. "map<" #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. SCM second = SWIG_NewPointerObj(y,$descriptor(U *), 1);
  163. $result = gh_cons(CONVERT_TO($1.first),second);
  164. }
  165. %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
  166. /* native pair? */
  167. if (gh_pair_p($input)) {
  168. U* y;
  169. SCM first = gh_car($input);
  170. SCM second = gh_cdr($input);
  171. if (CHECK(first) &&
  172. SWIG_ConvertPtr(second,(void**) &y,
  173. $descriptor(U *), 0) == 0) {
  174. $1 = 1;
  175. } else {
  176. $1 = 0;
  177. }
  178. } else {
  179. /* wrapped pair? */
  180. std::pair<T,U >* m;
  181. if (SWIG_ConvertPtr($input,(void **) &m,
  182. $&1_descriptor, 0) == 0)
  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 (gh_pair_p($input)) {
  192. U* y;
  193. SCM first = gh_car($input);
  194. SCM second = gh_cdr($input);
  195. if (CHECK(first) &&
  196. SWIG_ConvertPtr(second,(void**) &y,
  197. $descriptor(U *), 0) == 0) {
  198. $1 = 1;
  199. } else {
  200. $1 = 0;
  201. }
  202. } else {
  203. /* wrapped pair? */
  204. std::pair<T,U >* m;
  205. if (SWIG_ConvertPtr($input,(void **) &m,
  206. $1_descriptor, 0) == 0)
  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 (gh_pair_p($input)) {
  224. T* x;
  225. SCM first, second;
  226. first = gh_car($input);
  227. second = gh_cdr($input);
  228. x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
  229. if (!CHECK(second))
  230. SWIG_exception(SWIG_TypeError,
  231. "map<" #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 (gh_pair_p($input)) {
  243. T* x;
  244. SCM first, second;
  245. first = gh_car($input);
  246. second = gh_cdr($input);
  247. x = (T*) SWIG_MustGetPtr(first,$descriptor(T *),$argnum, 0);
  248. if (!CHECK(second))
  249. SWIG_exception(SWIG_TypeError,
  250. "map<" #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. SCM first = SWIG_NewPointerObj(x,$descriptor(T *), 1);
  261. $result = gh_cons(first,CONVERT_TO($1.second));
  262. }
  263. %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
  264. /* native pair? */
  265. if (gh_pair_p($input)) {
  266. T* x;
  267. SCM first = gh_car($input);
  268. SCM second = gh_cdr($input);
  269. if (SWIG_ConvertPtr(first,(void**) &x,
  270. $descriptor(T *), 0) == 0 &&
  271. CHECK(second)) {
  272. $1 = 1;
  273. } else {
  274. $1 = 0;
  275. }
  276. } else {
  277. /* wrapped pair? */
  278. std::pair<T,U >* m;
  279. if (SWIG_ConvertPtr($input,(void **) &m,
  280. $&1_descriptor, 0) == 0)
  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 (gh_pair_p($input)) {
  290. T* x;
  291. SCM first = gh_car($input);
  292. SCM second = gh_cdr($input);
  293. if (SWIG_ConvertPtr(first,(void**) &x,
  294. $descriptor(T *), 0) == 0 &&
  295. CHECK(second)) {
  296. $1 = 1;
  297. } else {
  298. $1 = 0;
  299. }
  300. } else {
  301. /* wrapped pair? */
  302. std::pair<T,U >* m;
  303. if (SWIG_ConvertPtr($input,(void **) &m,
  304. $1_descriptor, 0) == 0)
  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 (gh_pair_p($input)) {
  323. SCM first, second;
  324. first = gh_car($input);
  325. second = gh_cdr($input);
  326. if (!CHECK_T(first) || !CHECK_U(second))
  327. SWIG_exception(SWIG_TypeError,
  328. "map<" #T "," #U "> expected");
  329. $1 = std::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 (gh_pair_p($input)) {
  341. SCM first, second;
  342. first = gh_car($input);
  343. second = gh_cdr($input);
  344. if (!CHECK_T(first) || !CHECK_U(second))
  345. SWIG_exception(SWIG_TypeError,
  346. "map<" #T "," #U "> expected");
  347. temp = std::make_pair(CONVERT_T_FROM(first),
  348. CONVERT_U_FROM(second));
  349. $1 = &temp;
  350. } else {
  351. $1 = ($1_ltype)
  352. SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
  353. }
  354. }
  355. %typemap(out) pair<T,U> {
  356. $result = gh_cons(CONVERT_T_TO($1.first),
  357. CONVERT_U_TO($1.second));
  358. }
  359. %typecheck(SWIG_TYPECHECK_PAIR) pair<T,U> {
  360. /* native pair? */
  361. if (gh_pair_p($input)) {
  362. SCM first = gh_car($input);
  363. SCM second = gh_cdr($input);
  364. if (CHECK_T(first) && CHECK_U(second)) {
  365. $1 = 1;
  366. } else {
  367. $1 = 0;
  368. }
  369. } else {
  370. /* wrapped pair? */
  371. std::pair<T,U >* m;
  372. if (SWIG_ConvertPtr($input,(void **) &m,
  373. $&1_descriptor, 0) == 0)
  374. $1 = 1;
  375. else
  376. $1 = 0;
  377. }
  378. }
  379. %typecheck(SWIG_TYPECHECK_PAIR) const pair<T,U>&,
  380. const pair<T,U>* {
  381. /* native pair? */
  382. if (gh_pair_p($input)) {
  383. SCM first = gh_car($input);
  384. SCM second = gh_cdr($input);
  385. if (CHECK_T(first) && CHECK_U(second)) {
  386. $1 = 1;
  387. } else {
  388. $1 = 0;
  389. }
  390. } else {
  391. /* wrapped pair? */
  392. std::pair<T,U >* m;
  393. if (SWIG_ConvertPtr($input,(void **) &m,
  394. $1_descriptor, 0) == 0)
  395. $1 = 1;
  396. else
  397. $1 = 0;
  398. }
  399. }
  400. pair();
  401. pair(T first, U second);
  402. pair(const pair& p);
  403. template <class U1, class U2> pair(const pair<U1, U2> &p);
  404. T first;
  405. U second;
  406. };
  407. %enddef
  408. specialize_std_pair_on_first(bool,gh_boolean_p,
  409. gh_scm2bool,SWIG_bool2scm);
  410. specialize_std_pair_on_first(int,gh_number_p,
  411. gh_scm2long,gh_long2scm);
  412. specialize_std_pair_on_first(short,gh_number_p,
  413. gh_scm2long,gh_long2scm);
  414. specialize_std_pair_on_first(long,gh_number_p,
  415. gh_scm2long,gh_long2scm);
  416. specialize_std_pair_on_first(unsigned int,gh_number_p,
  417. gh_scm2ulong,gh_ulong2scm);
  418. specialize_std_pair_on_first(unsigned short,gh_number_p,
  419. gh_scm2ulong,gh_ulong2scm);
  420. specialize_std_pair_on_first(unsigned long,gh_number_p,
  421. gh_scm2ulong,gh_ulong2scm);
  422. specialize_std_pair_on_first(double,gh_number_p,
  423. gh_scm2double,gh_double2scm);
  424. specialize_std_pair_on_first(float,gh_number_p,
  425. gh_scm2double,gh_double2scm);
  426. specialize_std_pair_on_first(std::string,gh_string_p,
  427. SWIG_scm2string,SWIG_string2scm);
  428. specialize_std_pair_on_second(bool,gh_boolean_p,
  429. gh_scm2bool,SWIG_bool2scm);
  430. specialize_std_pair_on_second(int,gh_number_p,
  431. gh_scm2long,gh_long2scm);
  432. specialize_std_pair_on_second(short,gh_number_p,
  433. gh_scm2long,gh_long2scm);
  434. specialize_std_pair_on_second(long,gh_number_p,
  435. gh_scm2long,gh_long2scm);
  436. specialize_std_pair_on_second(unsigned int,gh_number_p,
  437. gh_scm2ulong,gh_ulong2scm);
  438. specialize_std_pair_on_second(unsigned short,gh_number_p,
  439. gh_scm2ulong,gh_ulong2scm);
  440. specialize_std_pair_on_second(unsigned long,gh_number_p,
  441. gh_scm2ulong,gh_ulong2scm);
  442. specialize_std_pair_on_second(double,gh_number_p,
  443. gh_scm2double,gh_double2scm);
  444. specialize_std_pair_on_second(float,gh_number_p,
  445. gh_scm2double,gh_double2scm);
  446. specialize_std_pair_on_second(std::string,gh_string_p,
  447. SWIG_scm2string,SWIG_string2scm);
  448. specialize_std_pair_on_both(bool,gh_boolean_p,
  449. gh_scm2bool,SWIG_bool2scm,
  450. bool,gh_boolean_p,
  451. gh_scm2bool,SWIG_bool2scm);
  452. specialize_std_pair_on_both(bool,gh_boolean_p,
  453. gh_scm2bool,SWIG_bool2scm,
  454. int,gh_number_p,
  455. gh_scm2long,gh_long2scm);
  456. specialize_std_pair_on_both(bool,gh_boolean_p,
  457. gh_scm2bool,SWIG_bool2scm,
  458. short,gh_number_p,
  459. gh_scm2long,gh_long2scm);
  460. specialize_std_pair_on_both(bool,gh_boolean_p,
  461. gh_scm2bool,SWIG_bool2scm,
  462. long,gh_number_p,
  463. gh_scm2long,gh_long2scm);
  464. specialize_std_pair_on_both(bool,gh_boolean_p,
  465. gh_scm2bool,SWIG_bool2scm,
  466. unsigned int,gh_number_p,
  467. gh_scm2ulong,gh_ulong2scm);
  468. specialize_std_pair_on_both(bool,gh_boolean_p,
  469. gh_scm2bool,SWIG_bool2scm,
  470. unsigned short,gh_number_p,
  471. gh_scm2ulong,gh_ulong2scm);
  472. specialize_std_pair_on_both(bool,gh_boolean_p,
  473. gh_scm2bool,SWIG_bool2scm,
  474. unsigned long,gh_number_p,
  475. gh_scm2ulong,gh_ulong2scm);
  476. specialize_std_pair_on_both(bool,gh_boolean_p,
  477. gh_scm2bool,SWIG_bool2scm,
  478. double,gh_number_p,
  479. gh_scm2double,gh_double2scm);
  480. specialize_std_pair_on_both(bool,gh_boolean_p,
  481. gh_scm2bool,SWIG_bool2scm,
  482. float,gh_number_p,
  483. gh_scm2double,gh_double2scm);
  484. specialize_std_pair_on_both(bool,gh_boolean_p,
  485. gh_scm2bool,SWIG_bool2scm,
  486. std::string,gh_string_p,
  487. SWIG_scm2string,SWIG_string2scm);
  488. specialize_std_pair_on_both(int,gh_number_p,
  489. gh_scm2long,gh_long2scm,
  490. bool,gh_boolean_p,
  491. gh_scm2bool,SWIG_bool2scm);
  492. specialize_std_pair_on_both(int,gh_number_p,
  493. gh_scm2long,gh_long2scm,
  494. int,gh_number_p,
  495. gh_scm2long,gh_long2scm);
  496. specialize_std_pair_on_both(int,gh_number_p,
  497. gh_scm2long,gh_long2scm,
  498. short,gh_number_p,
  499. gh_scm2long,gh_long2scm);
  500. specialize_std_pair_on_both(int,gh_number_p,
  501. gh_scm2long,gh_long2scm,
  502. long,gh_number_p,
  503. gh_scm2long,gh_long2scm);
  504. specialize_std_pair_on_both(int,gh_number_p,
  505. gh_scm2long,gh_long2scm,
  506. unsigned int,gh_number_p,
  507. gh_scm2ulong,gh_ulong2scm);
  508. specialize_std_pair_on_both(int,gh_number_p,
  509. gh_scm2long,gh_long2scm,
  510. unsigned short,gh_number_p,
  511. gh_scm2ulong,gh_ulong2scm);
  512. specialize_std_pair_on_both(int,gh_number_p,
  513. gh_scm2long,gh_long2scm,
  514. unsigned long,gh_number_p,
  515. gh_scm2ulong,gh_ulong2scm);
  516. specialize_std_pair_on_both(int,gh_number_p,
  517. gh_scm2long,gh_long2scm,
  518. double,gh_number_p,
  519. gh_scm2double,gh_double2scm);
  520. specialize_std_pair_on_both(int,gh_number_p,
  521. gh_scm2long,gh_long2scm,
  522. float,gh_number_p,
  523. gh_scm2double,gh_double2scm);
  524. specialize_std_pair_on_both(int,gh_number_p,
  525. gh_scm2long,gh_long2scm,
  526. std::string,gh_string_p,
  527. SWIG_scm2string,SWIG_string2scm);
  528. specialize_std_pair_on_both(short,gh_number_p,
  529. gh_scm2long,gh_long2scm,
  530. bool,gh_boolean_p,
  531. gh_scm2bool,SWIG_bool2scm);
  532. specialize_std_pair_on_both(short,gh_number_p,
  533. gh_scm2long,gh_long2scm,
  534. int,gh_number_p,
  535. gh_scm2long,gh_long2scm);
  536. specialize_std_pair_on_both(short,gh_number_p,
  537. gh_scm2long,gh_long2scm,
  538. short,gh_number_p,
  539. gh_scm2long,gh_long2scm);
  540. specialize_std_pair_on_both(short,gh_number_p,
  541. gh_scm2long,gh_long2scm,
  542. long,gh_number_p,
  543. gh_scm2long,gh_long2scm);
  544. specialize_std_pair_on_both(short,gh_number_p,
  545. gh_scm2long,gh_long2scm,
  546. unsigned int,gh_number_p,
  547. gh_scm2ulong,gh_ulong2scm);
  548. specialize_std_pair_on_both(short,gh_number_p,
  549. gh_scm2long,gh_long2scm,
  550. unsigned short,gh_number_p,
  551. gh_scm2ulong,gh_ulong2scm);
  552. specialize_std_pair_on_both(short,gh_number_p,
  553. gh_scm2long,gh_long2scm,
  554. unsigned long,gh_number_p,
  555. gh_scm2ulong,gh_ulong2scm);
  556. specialize_std_pair_on_both(short,gh_number_p,
  557. gh_scm2long,gh_long2scm,
  558. double,gh_number_p,
  559. gh_scm2double,gh_double2scm);
  560. specialize_std_pair_on_both(short,gh_number_p,
  561. gh_scm2long,gh_long2scm,
  562. float,gh_number_p,
  563. gh_scm2double,gh_double2scm);
  564. specialize_std_pair_on_both(short,gh_number_p,
  565. gh_scm2long,gh_long2scm,
  566. std::string,gh_string_p,
  567. SWIG_scm2string,SWIG_string2scm);
  568. specialize_std_pair_on_both(long,gh_number_p,
  569. gh_scm2long,gh_long2scm,
  570. bool,gh_boolean_p,
  571. gh_scm2bool,SWIG_bool2scm);
  572. specialize_std_pair_on_both(long,gh_number_p,
  573. gh_scm2long,gh_long2scm,
  574. int,gh_number_p,
  575. gh_scm2long,gh_long2scm);
  576. specialize_std_pair_on_both(long,gh_number_p,
  577. gh_scm2long,gh_long2scm,
  578. short,gh_number_p,
  579. gh_scm2long,gh_long2scm);
  580. specialize_std_pair_on_both(long,gh_number_p,
  581. gh_scm2long,gh_long2scm,
  582. long,gh_number_p,
  583. gh_scm2long,gh_long2scm);
  584. specialize_std_pair_on_both(long,gh_number_p,
  585. gh_scm2long,gh_long2scm,
  586. unsigned int,gh_number_p,
  587. gh_scm2ulong,gh_ulong2scm);
  588. specialize_std_pair_on_both(long,gh_number_p,
  589. gh_scm2long,gh_long2scm,
  590. unsigned short,gh_number_p,
  591. gh_scm2ulong,gh_ulong2scm);
  592. specialize_std_pair_on_both(long,gh_number_p,
  593. gh_scm2long,gh_long2scm,
  594. unsigned long,gh_number_p,
  595. gh_scm2ulong,gh_ulong2scm);
  596. specialize_std_pair_on_both(long,gh_number_p,
  597. gh_scm2long,gh_long2scm,
  598. double,gh_number_p,
  599. gh_scm2double,gh_double2scm);
  600. specialize_std_pair_on_both(long,gh_number_p,
  601. gh_scm2long,gh_long2scm,
  602. float,gh_number_p,
  603. gh_scm2double,gh_double2scm);
  604. specialize_std_pair_on_both(long,gh_number_p,
  605. gh_scm2long,gh_long2scm,
  606. std::string,gh_string_p,
  607. SWIG_scm2string,SWIG_string2scm);
  608. specialize_std_pair_on_both(unsigned int,gh_number_p,
  609. gh_scm2ulong,gh_ulong2scm,
  610. bool,gh_boolean_p,
  611. gh_scm2bool,SWIG_bool2scm);
  612. specialize_std_pair_on_both(unsigned int,gh_number_p,
  613. gh_scm2ulong,gh_ulong2scm,
  614. int,gh_number_p,
  615. gh_scm2long,gh_long2scm);
  616. specialize_std_pair_on_both(unsigned int,gh_number_p,
  617. gh_scm2ulong,gh_ulong2scm,
  618. short,gh_number_p,
  619. gh_scm2long,gh_long2scm);
  620. specialize_std_pair_on_both(unsigned int,gh_number_p,
  621. gh_scm2ulong,gh_ulong2scm,
  622. long,gh_number_p,
  623. gh_scm2long,gh_long2scm);
  624. specialize_std_pair_on_both(unsigned int,gh_number_p,
  625. gh_scm2ulong,gh_ulong2scm,
  626. unsigned int,gh_number_p,
  627. gh_scm2ulong,gh_ulong2scm);
  628. specialize_std_pair_on_both(unsigned int,gh_number_p,
  629. gh_scm2ulong,gh_ulong2scm,
  630. unsigned short,gh_number_p,
  631. gh_scm2ulong,gh_ulong2scm);
  632. specialize_std_pair_on_both(unsigned int,gh_number_p,
  633. gh_scm2ulong,gh_ulong2scm,
  634. unsigned long,gh_number_p,
  635. gh_scm2ulong,gh_ulong2scm);
  636. specialize_std_pair_on_both(unsigned int,gh_number_p,
  637. gh_scm2ulong,gh_ulong2scm,
  638. double,gh_number_p,
  639. gh_scm2double,gh_double2scm);
  640. specialize_std_pair_on_both(unsigned int,gh_number_p,
  641. gh_scm2ulong,gh_ulong2scm,
  642. float,gh_number_p,
  643. gh_scm2double,gh_double2scm);
  644. specialize_std_pair_on_both(unsigned int,gh_number_p,
  645. gh_scm2ulong,gh_ulong2scm,
  646. std::string,gh_string_p,
  647. SWIG_scm2string,SWIG_string2scm);
  648. specialize_std_pair_on_both(unsigned short,gh_number_p,
  649. gh_scm2ulong,gh_ulong2scm,
  650. bool,gh_boolean_p,
  651. gh_scm2bool,SWIG_bool2scm);
  652. specialize_std_pair_on_both(unsigned short,gh_number_p,
  653. gh_scm2ulong,gh_ulong2scm,
  654. int,gh_number_p,
  655. gh_scm2long,gh_long2scm);
  656. specialize_std_pair_on_both(unsigned short,gh_number_p,
  657. gh_scm2ulong,gh_ulong2scm,
  658. short,gh_number_p,
  659. gh_scm2long,gh_long2scm);
  660. specialize_std_pair_on_both(unsigned short,gh_number_p,
  661. gh_scm2ulong,gh_ulong2scm,
  662. long,gh_number_p,
  663. gh_scm2long,gh_long2scm);
  664. specialize_std_pair_on_both(unsigned short,gh_number_p,
  665. gh_scm2ulong,gh_ulong2scm,
  666. unsigned int,gh_number_p,
  667. gh_scm2ulong,gh_ulong2scm);
  668. specialize_std_pair_on_both(unsigned short,gh_number_p,
  669. gh_scm2ulong,gh_ulong2scm,
  670. unsigned short,gh_number_p,
  671. gh_scm2ulong,gh_ulong2scm);
  672. specialize_std_pair_on_both(unsigned short,gh_number_p,
  673. gh_scm2ulong,gh_ulong2scm,
  674. unsigned long,gh_number_p,
  675. gh_scm2ulong,gh_ulong2scm);
  676. specialize_std_pair_on_both(unsigned short,gh_number_p,
  677. gh_scm2ulong,gh_ulong2scm,
  678. double,gh_number_p,
  679. gh_scm2double,gh_double2scm);
  680. specialize_std_pair_on_both(unsigned short,gh_number_p,
  681. gh_scm2ulong,gh_ulong2scm,
  682. float,gh_number_p,
  683. gh_scm2double,gh_double2scm);
  684. specialize_std_pair_on_both(unsigned short,gh_number_p,
  685. gh_scm2ulong,gh_ulong2scm,
  686. std::string,gh_string_p,
  687. SWIG_scm2string,SWIG_string2scm);
  688. specialize_std_pair_on_both(unsigned long,gh_number_p,
  689. gh_scm2ulong,gh_ulong2scm,
  690. bool,gh_boolean_p,
  691. gh_scm2bool,SWIG_bool2scm);
  692. specialize_std_pair_on_both(unsigned long,gh_number_p,
  693. gh_scm2ulong,gh_ulong2scm,
  694. int,gh_number_p,
  695. gh_scm2long,gh_long2scm);
  696. specialize_std_pair_on_both(unsigned long,gh_number_p,
  697. gh_scm2ulong,gh_ulong2scm,
  698. short,gh_number_p,
  699. gh_scm2long,gh_long2scm);
  700. specialize_std_pair_on_both(unsigned long,gh_number_p,
  701. gh_scm2ulong,gh_ulong2scm,
  702. long,gh_number_p,
  703. gh_scm2long,gh_long2scm);
  704. specialize_std_pair_on_both(unsigned long,gh_number_p,
  705. gh_scm2ulong,gh_ulong2scm,
  706. unsigned int,gh_number_p,
  707. gh_scm2ulong,gh_ulong2scm);
  708. specialize_std_pair_on_both(unsigned long,gh_number_p,
  709. gh_scm2ulong,gh_ulong2scm,
  710. unsigned short,gh_number_p,
  711. gh_scm2ulong,gh_ulong2scm);
  712. specialize_std_pair_on_both(unsigned long,gh_number_p,
  713. gh_scm2ulong,gh_ulong2scm,
  714. unsigned long,gh_number_p,
  715. gh_scm2ulong,gh_ulong2scm);
  716. specialize_std_pair_on_both(unsigned long,gh_number_p,
  717. gh_scm2ulong,gh_ulong2scm,
  718. double,gh_number_p,
  719. gh_scm2double,gh_double2scm);
  720. specialize_std_pair_on_both(unsigned long,gh_number_p,
  721. gh_scm2ulong,gh_ulong2scm,
  722. float,gh_number_p,
  723. gh_scm2double,gh_double2scm);
  724. specialize_std_pair_on_both(unsigned long,gh_number_p,
  725. gh_scm2ulong,gh_ulong2scm,
  726. std::string,gh_string_p,
  727. SWIG_scm2string,SWIG_string2scm);
  728. specialize_std_pair_on_both(double,gh_number_p,
  729. gh_scm2double,gh_double2scm,
  730. bool,gh_boolean_p,
  731. gh_scm2bool,SWIG_bool2scm);
  732. specialize_std_pair_on_both(double,gh_number_p,
  733. gh_scm2double,gh_double2scm,
  734. int,gh_number_p,
  735. gh_scm2long,gh_long2scm);
  736. specialize_std_pair_on_both(double,gh_number_p,
  737. gh_scm2double,gh_double2scm,
  738. short,gh_number_p,
  739. gh_scm2long,gh_long2scm);
  740. specialize_std_pair_on_both(double,gh_number_p,
  741. gh_scm2double,gh_double2scm,
  742. long,gh_number_p,
  743. gh_scm2long,gh_long2scm);
  744. specialize_std_pair_on_both(double,gh_number_p,
  745. gh_scm2double,gh_double2scm,
  746. unsigned int,gh_number_p,
  747. gh_scm2ulong,gh_ulong2scm);
  748. specialize_std_pair_on_both(double,gh_number_p,
  749. gh_scm2double,gh_double2scm,
  750. unsigned short,gh_number_p,
  751. gh_scm2ulong,gh_ulong2scm);
  752. specialize_std_pair_on_both(double,gh_number_p,
  753. gh_scm2double,gh_double2scm,
  754. unsigned long,gh_number_p,
  755. gh_scm2ulong,gh_ulong2scm);
  756. specialize_std_pair_on_both(double,gh_number_p,
  757. gh_scm2double,gh_double2scm,
  758. double,gh_number_p,
  759. gh_scm2double,gh_double2scm);
  760. specialize_std_pair_on_both(double,gh_number_p,
  761. gh_scm2double,gh_double2scm,
  762. float,gh_number_p,
  763. gh_scm2double,gh_double2scm);
  764. specialize_std_pair_on_both(double,gh_number_p,
  765. gh_scm2double,gh_double2scm,
  766. std::string,gh_string_p,
  767. SWIG_scm2string,SWIG_string2scm);
  768. specialize_std_pair_on_both(float,gh_number_p,
  769. gh_scm2double,gh_double2scm,
  770. bool,gh_boolean_p,
  771. gh_scm2bool,SWIG_bool2scm);
  772. specialize_std_pair_on_both(float,gh_number_p,
  773. gh_scm2double,gh_double2scm,
  774. int,gh_number_p,
  775. gh_scm2long,gh_long2scm);
  776. specialize_std_pair_on_both(float,gh_number_p,
  777. gh_scm2double,gh_double2scm,
  778. short,gh_number_p,
  779. gh_scm2long,gh_long2scm);
  780. specialize_std_pair_on_both(float,gh_number_p,
  781. gh_scm2double,gh_double2scm,
  782. long,gh_number_p,
  783. gh_scm2long,gh_long2scm);
  784. specialize_std_pair_on_both(float,gh_number_p,
  785. gh_scm2double,gh_double2scm,
  786. unsigned int,gh_number_p,
  787. gh_scm2ulong,gh_ulong2scm);
  788. specialize_std_pair_on_both(float,gh_number_p,
  789. gh_scm2double,gh_double2scm,
  790. unsigned short,gh_number_p,
  791. gh_scm2ulong,gh_ulong2scm);
  792. specialize_std_pair_on_both(float,gh_number_p,
  793. gh_scm2double,gh_double2scm,
  794. unsigned long,gh_number_p,
  795. gh_scm2ulong,gh_ulong2scm);
  796. specialize_std_pair_on_both(float,gh_number_p,
  797. gh_scm2double,gh_double2scm,
  798. double,gh_number_p,
  799. gh_scm2double,gh_double2scm);
  800. specialize_std_pair_on_both(float,gh_number_p,
  801. gh_scm2double,gh_double2scm,
  802. float,gh_number_p,
  803. gh_scm2double,gh_double2scm);
  804. specialize_std_pair_on_both(float,gh_number_p,
  805. gh_scm2double,gh_double2scm,
  806. std::string,gh_string_p,
  807. SWIG_scm2string,SWIG_string2scm);
  808. specialize_std_pair_on_both(std::string,gh_string_p,
  809. SWIG_scm2string,SWIG_string2scm,
  810. bool,gh_boolean_p,
  811. gh_scm2bool,SWIG_bool2scm);
  812. specialize_std_pair_on_both(std::string,gh_string_p,
  813. SWIG_scm2string,SWIG_string2scm,
  814. int,gh_number_p,
  815. gh_scm2long,gh_long2scm);
  816. specialize_std_pair_on_both(std::string,gh_string_p,
  817. SWIG_scm2string,SWIG_string2scm,
  818. short,gh_number_p,
  819. gh_scm2long,gh_long2scm);
  820. specialize_std_pair_on_both(std::string,gh_string_p,
  821. SWIG_scm2string,SWIG_string2scm,
  822. long,gh_number_p,
  823. gh_scm2long,gh_long2scm);
  824. specialize_std_pair_on_both(std::string,gh_string_p,
  825. SWIG_scm2string,SWIG_string2scm,
  826. unsigned int,gh_number_p,
  827. gh_scm2ulong,gh_ulong2scm);
  828. specialize_std_pair_on_both(std::string,gh_string_p,
  829. SWIG_scm2string,SWIG_string2scm,
  830. unsigned short,gh_number_p,
  831. gh_scm2ulong,gh_ulong2scm);
  832. specialize_std_pair_on_both(std::string,gh_string_p,
  833. SWIG_scm2string,SWIG_string2scm,
  834. unsigned long,gh_number_p,
  835. gh_scm2ulong,gh_ulong2scm);
  836. specialize_std_pair_on_both(std::string,gh_string_p,
  837. SWIG_scm2string,SWIG_string2scm,
  838. double,gh_number_p,
  839. gh_scm2double,gh_double2scm);
  840. specialize_std_pair_on_both(std::string,gh_string_p,
  841. SWIG_scm2string,SWIG_string2scm,
  842. float,gh_number_p,
  843. gh_scm2double,gh_double2scm);
  844. specialize_std_pair_on_both(std::string,gh_string_p,
  845. SWIG_scm2string,SWIG_string2scm,
  846. std::string,gh_string_p,
  847. SWIG_scm2string,SWIG_string2scm);
  848. }