rice 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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");
|