rice 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Doxyfile +1 -1
- data/README +1 -1
- data/Rakefile +1 -3
- data/extconf.rb +5 -1
- data/rice/Arg_impl.hpp +3 -0
- data/rice/Arg_operators.cpp +2 -2
- data/rice/Arg_operators.hpp +2 -2
- data/rice/detail/Arguments.hpp +2 -2
- data/rice/detail/Auto_Function_Wrapper.ipp +65 -65
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +32 -32
- data/rice/detail/to_ruby.hpp +1 -1
- data/rice/detail/to_ruby.ipp +2 -2
- data/rice/generate_code.rb +7 -7
- data/rice/to_from_ruby.ipp +6 -0
- data/ruby/lib/version.rb +1 -1
- data/test/test_Class.cpp +39 -18
- data/test/test_Module.cpp +39 -11
- metadata +2 -2
@@ -51,7 +51,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
51
51
|
|
52
52
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15;
|
53
53
|
|
54
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
54
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
55
55
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13, &varg14, &varg15);
|
56
56
|
|
57
57
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -141,7 +141,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
141
141
|
|
142
142
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15;
|
143
143
|
|
144
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
144
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
145
145
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13, &varg14, &varg15);
|
146
146
|
|
147
147
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -233,7 +233,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
233
233
|
|
234
234
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14;
|
235
235
|
|
236
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
236
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
237
237
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13, &varg14);
|
238
238
|
|
239
239
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -321,7 +321,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
321
321
|
|
322
322
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14;
|
323
323
|
|
324
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
324
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
325
325
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13, &varg14);
|
326
326
|
|
327
327
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -411,7 +411,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
411
411
|
|
412
412
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13;
|
413
413
|
|
414
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
414
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
415
415
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13);
|
416
416
|
|
417
417
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -497,7 +497,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
497
497
|
|
498
498
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13;
|
499
499
|
|
500
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
500
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
501
501
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12, &varg13);
|
502
502
|
|
503
503
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -585,7 +585,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
585
585
|
|
586
586
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12;
|
587
587
|
|
588
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
588
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
589
589
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12);
|
590
590
|
|
591
591
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -669,7 +669,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
669
669
|
|
670
670
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12;
|
671
671
|
|
672
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
672
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
673
673
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11, &varg12);
|
674
674
|
|
675
675
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -755,7 +755,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
755
755
|
|
756
756
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11;
|
757
757
|
|
758
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
758
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
759
759
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11);
|
760
760
|
|
761
761
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -837,7 +837,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
837
837
|
|
838
838
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11;
|
839
839
|
|
840
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
840
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
841
841
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10, &varg11);
|
842
842
|
|
843
843
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -921,7 +921,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
921
921
|
|
922
922
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10;
|
923
923
|
|
924
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
924
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
925
925
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10);
|
926
926
|
|
927
927
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1001,7 +1001,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1001
1001
|
|
1002
1002
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10;
|
1003
1003
|
|
1004
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1004
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1005
1005
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9, &varg10);
|
1006
1006
|
|
1007
1007
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1083,7 +1083,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1083
1083
|
|
1084
1084
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9;
|
1085
1085
|
|
1086
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1086
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1087
1087
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9);
|
1088
1088
|
|
1089
1089
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1161,7 +1161,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1161
1161
|
|
1162
1162
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9;
|
1163
1163
|
|
1164
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1164
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1165
1165
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8, &varg9);
|
1166
1166
|
|
1167
1167
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1241,7 +1241,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1241
1241
|
|
1242
1242
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8;
|
1243
1243
|
|
1244
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1244
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1245
1245
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8);
|
1246
1246
|
|
1247
1247
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1317,7 +1317,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1317
1317
|
|
1318
1318
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8;
|
1319
1319
|
|
1320
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1320
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1321
1321
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7, &varg8);
|
1322
1322
|
|
1323
1323
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1395,7 +1395,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1395
1395
|
|
1396
1396
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7;
|
1397
1397
|
|
1398
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1398
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1399
1399
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7);
|
1400
1400
|
|
1401
1401
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1469,7 +1469,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1469
1469
|
|
1470
1470
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6, varg7;
|
1471
1471
|
|
1472
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1472
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1473
1473
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6, &varg7);
|
1474
1474
|
|
1475
1475
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1545,7 +1545,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1545
1545
|
|
1546
1546
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6;
|
1547
1547
|
|
1548
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1548
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1549
1549
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6);
|
1550
1550
|
|
1551
1551
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1617,7 +1617,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1617
1617
|
|
1618
1618
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5, varg6;
|
1619
1619
|
|
1620
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1620
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1621
1621
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5, &varg6);
|
1622
1622
|
|
1623
1623
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1691,7 +1691,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1691
1691
|
|
1692
1692
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5;
|
1693
1693
|
|
1694
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1694
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1695
1695
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5);
|
1696
1696
|
|
1697
1697
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1761,7 +1761,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1761
1761
|
|
1762
1762
|
VALUE varg0, varg1, varg2, varg3, varg4, varg5;
|
1763
1763
|
|
1764
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1764
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1765
1765
|
&varg0, &varg1, &varg2, &varg3, &varg4, &varg5);
|
1766
1766
|
|
1767
1767
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1833,7 +1833,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1833
1833
|
|
1834
1834
|
VALUE varg0, varg1, varg2, varg3, varg4;
|
1835
1835
|
|
1836
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1836
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1837
1837
|
&varg0, &varg1, &varg2, &varg3, &varg4);
|
1838
1838
|
|
1839
1839
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1901,7 +1901,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1901
1901
|
|
1902
1902
|
VALUE varg0, varg1, varg2, varg3, varg4;
|
1903
1903
|
|
1904
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1904
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1905
1905
|
&varg0, &varg1, &varg2, &varg3, &varg4);
|
1906
1906
|
|
1907
1907
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -1971,7 +1971,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
1971
1971
|
|
1972
1972
|
VALUE varg0, varg1, varg2, varg3;
|
1973
1973
|
|
1974
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
1974
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
1975
1975
|
&varg0, &varg1, &varg2, &varg3);
|
1976
1976
|
|
1977
1977
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -2037,7 +2037,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
2037
2037
|
|
2038
2038
|
VALUE varg0, varg1, varg2, varg3;
|
2039
2039
|
|
2040
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
2040
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
2041
2041
|
&varg0, &varg1, &varg2, &varg3);
|
2042
2042
|
|
2043
2043
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -2105,7 +2105,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
2105
2105
|
|
2106
2106
|
VALUE varg0, varg1, varg2;
|
2107
2107
|
|
2108
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
2108
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
2109
2109
|
&varg0, &varg1, &varg2);
|
2110
2110
|
|
2111
2111
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -2169,7 +2169,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
2169
2169
|
|
2170
2170
|
VALUE varg0, varg1, varg2;
|
2171
2171
|
|
2172
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
2172
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
2173
2173
|
&varg0, &varg1, &varg2);
|
2174
2174
|
|
2175
2175
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -2235,7 +2235,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
2235
2235
|
|
2236
2236
|
VALUE varg0, varg1;
|
2237
2237
|
|
2238
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
2238
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
2239
2239
|
&varg0, &varg1);
|
2240
2240
|
|
2241
2241
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -2297,7 +2297,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
2297
2297
|
|
2298
2298
|
VALUE varg0, varg1;
|
2299
2299
|
|
2300
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
2300
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
2301
2301
|
&varg0, &varg1);
|
2302
2302
|
|
2303
2303
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -2361,7 +2361,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
2361
2361
|
|
2362
2362
|
VALUE varg0;
|
2363
2363
|
|
2364
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
2364
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
2365
2365
|
&varg0);
|
2366
2366
|
|
2367
2367
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -2421,7 +2421,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
2421
2421
|
|
2422
2422
|
VALUE varg0;
|
2423
2423
|
|
2424
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
2424
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
2425
2425
|
&varg0);
|
2426
2426
|
|
2427
2427
|
Self_T * obj = from_ruby<Self_T *>(self);
|
data/rice/detail/to_ruby.hpp
CHANGED
data/rice/detail/to_ruby.ipp
CHANGED
data/rice/generate_code.rb
CHANGED
@@ -364,7 +364,7 @@ call(int argc, VALUE *argv, VALUE self)
|
|
364
364
|
VALUE %(scan_def_list);
|
365
365
|
|
366
366
|
if(hasSelf) {
|
367
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args - 1)
|
367
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args - 1).c_str()
|
368
368
|
%(scan_args_list));
|
369
369
|
|
370
370
|
Arg0_T arg0 = from_ruby<Arg0_T>(self);
|
@@ -372,7 +372,7 @@ call(int argc, VALUE *argv, VALUE self)
|
|
372
372
|
|
373
373
|
return to_ruby(wrapper->func_(%(arg_list)));
|
374
374
|
} else {
|
375
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args)
|
375
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str()
|
376
376
|
%(scan_args_list));
|
377
377
|
|
378
378
|
%(arg_convert_list)
|
@@ -437,7 +437,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
437
437
|
VALUE %(scan_def_list);
|
438
438
|
|
439
439
|
if(hasSelf) {
|
440
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args - 1)
|
440
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args - 1) .c_str()
|
441
441
|
%(scan_args_list));
|
442
442
|
|
443
443
|
Arg0_T arg0 = from_ruby<Arg0_T>(self);
|
@@ -446,7 +446,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
446
446
|
wrapper->func_(%(arg_list));
|
447
447
|
return Qnil;
|
448
448
|
} else {
|
449
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args)
|
449
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str()
|
450
450
|
%(scan_args_list));
|
451
451
|
|
452
452
|
%(arg_convert_list)
|
@@ -563,7 +563,7 @@ call()
|
|
563
563
|
Data_Object<Wrapped_Function> data(detail::method_data());
|
564
564
|
wrapper = (Auto_Function_Wrapper<Func_T, Ret_T>*)data.get();
|
565
565
|
|
566
|
-
return to_ruby
|
566
|
+
return to_ruby(wrapper->func_());
|
567
567
|
}
|
568
568
|
catch(...)
|
569
569
|
{
|
@@ -765,7 +765,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
765
765
|
|
766
766
|
VALUE %(scan_def_list);
|
767
767
|
|
768
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
768
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
769
769
|
%(scan_args_list));
|
770
770
|
|
771
771
|
Self_T * obj = from_ruby<Self_T *>(self);
|
@@ -824,7 +824,7 @@ call(int argc, VALUE* argv, VALUE self)
|
|
824
824
|
|
825
825
|
VALUE %(scan_def_list);
|
826
826
|
|
827
|
-
rb_scan_args(argc, argv, args->formatString(Num_Args),
|
827
|
+
rb_scan_args(argc, argv, args->formatString(Num_Args).c_str(),
|
828
828
|
%(scan_args_list));
|
829
829
|
|
830
830
|
Self_T * obj = from_ruby<Self_T *>(self);
|
data/rice/to_from_ruby.ipp
CHANGED
data/ruby/lib/version.rb
CHANGED
data/test/test_Class.cpp
CHANGED
@@ -128,13 +128,39 @@ TESTCASE(define_module_function_simple)
|
|
128
128
|
);
|
129
129
|
}
|
130
130
|
|
131
|
+
namespace
|
132
|
+
{
|
133
|
+
class RefTest
|
134
|
+
{
|
135
|
+
public:
|
136
|
+
RefTest() { }
|
137
|
+
|
138
|
+
static std::string& getReference() {
|
139
|
+
static std::string foo = "foo";
|
140
|
+
return foo;
|
141
|
+
}
|
142
|
+
};
|
143
|
+
}
|
144
|
+
|
145
|
+
TESTCASE(define_singleton_method_returning_reference)
|
146
|
+
{
|
147
|
+
Class c = define_class<RefTest>("RefTest")
|
148
|
+
.define_constructor(Constructor<RefTest>())
|
149
|
+
.define_singleton_method("get_reference", &RefTest::getReference);
|
150
|
+
|
151
|
+
Module m(anonymous_module());
|
152
|
+
|
153
|
+
Object result = m.instance_eval("RefTest.get_reference");
|
154
|
+
ASSERT_EQUAL(result, String("foo"));
|
155
|
+
}
|
156
|
+
|
131
157
|
namespace
|
132
158
|
{
|
133
159
|
|
134
160
|
int define_method_int_result;
|
135
161
|
|
136
162
|
class IntHelper {
|
137
|
-
public:
|
163
|
+
public:
|
138
164
|
IntHelper() { }
|
139
165
|
|
140
166
|
void define_method_int_helper(int i)
|
@@ -147,7 +173,7 @@ namespace
|
|
147
173
|
|
148
174
|
TESTCASE(define_method_int)
|
149
175
|
{
|
150
|
-
Class c =
|
176
|
+
Class c =
|
151
177
|
define_class<IntHelper>("IntHelper")
|
152
178
|
.define_constructor(Constructor<IntHelper>())
|
153
179
|
.define_method("foo", &IntHelper::define_method_int_helper);
|
@@ -160,7 +186,7 @@ TESTCASE(define_method_int)
|
|
160
186
|
|
161
187
|
TESTCASE(define_method_int_passed_two_args)
|
162
188
|
{
|
163
|
-
Class c =
|
189
|
+
Class c =
|
164
190
|
define_class<IntHelper>("IntHelper")
|
165
191
|
.define_constructor(Constructor<IntHelper>())
|
166
192
|
.define_method("foo", &IntHelper::define_method_int_helper);
|
@@ -179,7 +205,7 @@ TESTCASE(define_method_int_passed_two_args)
|
|
179
205
|
|
180
206
|
TESTCASE(define_method_int_passed_no_args)
|
181
207
|
{
|
182
|
-
Class c =
|
208
|
+
Class c =
|
183
209
|
define_class<IntHelper>("IntHelper")
|
184
210
|
.define_constructor(Constructor<IntHelper>())
|
185
211
|
.define_method("foo", &IntHelper::define_method_int_helper);
|
@@ -238,11 +264,6 @@ TESTCASE(define_method_int_foo)
|
|
238
264
|
ASSERT_EQUAL(foo, define_method_int_foo_result_x);
|
239
265
|
}
|
240
266
|
|
241
|
-
|
242
|
-
TESTCASE(define_method_with_default_arguments)
|
243
|
-
{
|
244
|
-
}
|
245
|
-
|
246
267
|
namespace
|
247
268
|
{
|
248
269
|
|
@@ -390,14 +411,14 @@ TESTCASE(subclassing)
|
|
390
411
|
|
391
412
|
// Not sure how to make this a true failure case. If the subclassing
|
392
413
|
// doesn't work, Ruby will throw an error:
|
393
|
-
//
|
414
|
+
//
|
394
415
|
// in `new': wrong instance allocation
|
395
416
|
//
|
396
417
|
m.instance_eval("class NewClass < Testing::BaseClass; end;");
|
397
418
|
m.instance_eval("n = NewClass.new");
|
398
419
|
}
|
399
420
|
|
400
|
-
namespace
|
421
|
+
namespace
|
401
422
|
{
|
402
423
|
int defaults_method_one_arg1;
|
403
424
|
int defaults_method_one_arg2;
|
@@ -406,7 +427,7 @@ namespace
|
|
406
427
|
class DefaultArgs
|
407
428
|
{
|
408
429
|
public:
|
409
|
-
void defaults_method_one(int arg1, int arg2 = 3, bool arg3 = true)
|
430
|
+
void defaults_method_one(int arg1, int arg2 = 3, bool arg3 = true)
|
410
431
|
{
|
411
432
|
defaults_method_one_arg1 = arg1;
|
412
433
|
defaults_method_one_arg2 = arg2;
|
@@ -419,8 +440,8 @@ TESTCASE(define_method_default_arguments)
|
|
419
440
|
{
|
420
441
|
Class c = define_class<DefaultArgs>("DefaultArgs")
|
421
442
|
.define_constructor(Constructor<DefaultArgs>())
|
422
|
-
.define_method("with_defaults",
|
423
|
-
&DefaultArgs::defaults_method_one,
|
443
|
+
.define_method("with_defaults",
|
444
|
+
&DefaultArgs::defaults_method_one,
|
424
445
|
(Arg("arg1"), Arg("arg2") = 3, Arg("arg3") = true));
|
425
446
|
|
426
447
|
Object o = c.call("new");
|
@@ -448,7 +469,7 @@ namespace {
|
|
448
469
|
float with_reference_defaults_x;
|
449
470
|
std::string with_reference_defaults_str;
|
450
471
|
|
451
|
-
class DefaultArgsRefs
|
472
|
+
class DefaultArgsRefs
|
452
473
|
{
|
453
474
|
public:
|
454
475
|
void with_reference_defaults(float x, std::string const& str = std::string("testing"))
|
@@ -460,12 +481,12 @@ namespace {
|
|
460
481
|
|
461
482
|
}
|
462
483
|
|
463
|
-
TESTCASE(define_method_works_with_reference_const_default_values)
|
484
|
+
TESTCASE(define_method_works_with_reference_const_default_values)
|
464
485
|
{
|
465
486
|
Class c = define_class<DefaultArgsRefs>("DefaultArgsRefs")
|
466
487
|
.define_constructor(Constructor<DefaultArgsRefs>())
|
467
|
-
.define_method("bar",
|
468
|
-
&DefaultArgsRefs::with_reference_defaults,
|
488
|
+
.define_method("bar",
|
489
|
+
&DefaultArgsRefs::with_reference_defaults,
|
469
490
|
(Arg("x"), Arg("str") = std::string("testing")));
|
470
491
|
|
471
492
|
Object o = c.call("new");
|