rice 2.1.0 → 3.0.0
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.
- checksums.yaml +5 -5
- data/COPYING +2 -2
- data/Doxyfile +4 -16
- data/Makefile.am +2 -2
- data/Makefile.in +28 -17
- data/{README → README.md} +323 -328
- data/aclocal.m4 +104 -107
- data/ax_cxx_compile_stdcxx.m4 +951 -0
- data/configure +549 -238
- data/configure.ac +3 -3
- data/extconf.rb +11 -10
- data/rice/Array.hpp +16 -16
- data/rice/Array.ipp +11 -11
- data/rice/Class_defn.hpp +1 -0
- data/rice/Constructor.hpp +27 -371
- data/rice/Data_Object_defn.hpp +3 -3
- data/rice/Director.hpp +3 -3
- data/rice/Enum.ipp +1 -1
- data/rice/Exception.cpp +2 -7
- data/rice/Hash.hpp +8 -5
- data/rice/Hash.ipp +2 -2
- data/rice/Makefile.am +1 -4
- data/rice/Makefile.in +80 -35
- data/rice/Module_impl.ipp +1 -1
- data/rice/Object.cpp +1 -1
- data/rice/Object.ipp +15 -1
- data/rice/Object_defn.hpp +24 -1
- data/rice/String.cpp +2 -7
- data/rice/Struct.cpp +2 -2
- data/rice/Struct.hpp +1 -1
- data/rice/Struct.ipp +1 -1
- data/rice/config.hpp +2 -2
- data/rice/config.hpp.in +2 -2
- data/rice/detail/Arguments.hpp +1 -1
- data/rice/detail/Auto_Function_Wrapper.ipp +512 -1025
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +272 -545
- data/rice/detail/Iterator.hpp +2 -2
- data/rice/detail/method_data.cpp +8 -2
- data/rice/detail/ruby.hpp +1 -4
- data/rice/detail/ruby_version_code.hpp +1 -1
- data/rice/detail/wrap_function.hpp +32 -307
- data/rice/protect.hpp +3 -57
- data/rice/to_from_ruby.ipp +128 -4
- data/ruby/Makefile.in +11 -8
- data/ruby/lib/Makefile.in +10 -7
- data/ruby/lib/version.rb +1 -1
- data/sample/Makefile.am +10 -4
- data/sample/Makefile.in +20 -11
- data/sample/callbacks/extconf.rb +3 -0
- data/sample/callbacks/sample_callbacks.cpp +38 -0
- data/sample/callbacks/test.rb +28 -0
- data/test/Makefile.am +1 -0
- data/test/Makefile.in +118 -49
- data/test/embed_ruby.cpp +21 -0
- data/test/embed_ruby.hpp +4 -0
- data/test/ext/Makefile.in +10 -7
- data/test/test_Address_Registration_Guard.cpp +2 -1
- data/test/test_Array.cpp +2 -1
- data/test/test_Builtin_Object.cpp +2 -1
- data/test/test_Class.cpp +7 -4
- data/test/test_Data_Object.cpp +2 -1
- data/test/test_Data_Type.cpp +2 -1
- data/test/test_Director.cpp +2 -1
- data/test/test_Enum.cpp +24 -3
- data/test/test_Exception.cpp +2 -1
- data/test/test_Hash.cpp +2 -1
- data/test/test_Identifier.cpp +2 -1
- data/test/test_Memory_Management.cpp +2 -1
- data/test/test_Module.cpp +2 -1
- data/test/test_Object.cpp +13 -1
- data/test/test_String.cpp +2 -1
- data/test/test_Struct.cpp +2 -1
- data/test/test_Symbol.cpp +2 -1
- data/test/test_To_From_Ruby.cpp +102 -1
- data/test/test_global_functions.cpp +2 -1
- data/test/test_rice.rb +4 -0
- data/test/unittest.cpp +35 -9
- metadata +72 -16
- data/check_stdcxx_11.ac +0 -142
- data/rice/detail/object_call.hpp +0 -69
- data/rice/detail/object_call.ipp +0 -131
- data/rice/detail/traits.hpp +0 -43
- data/rice/detail/wrap_function.ipp +0 -514
data/configure.ac
CHANGED
@@ -21,8 +21,8 @@ else
|
|
21
21
|
RICE_USING_MINGW32="false"
|
22
22
|
fi
|
23
23
|
|
24
|
-
m4_include(
|
25
|
-
|
24
|
+
m4_include(ax_cxx_compile_stdcxx.m4)
|
25
|
+
AX_CXX_COMPILE_STDCXX(14, noext, mandatory)
|
26
26
|
|
27
27
|
AC_SUBST(RICE_USING_MINGW32)
|
28
28
|
|
@@ -40,7 +40,7 @@ DX_PDF_FEATURE(OFF)
|
|
40
40
|
DX_PS_FEATURE(OFF)
|
41
41
|
DX_INIT_DOXYGEN(rice, Doxyfile, doc)
|
42
42
|
|
43
|
-
RICE_SAMPLES="enum map inheritance"
|
43
|
+
RICE_SAMPLES="enum map inheritance callbacks"
|
44
44
|
AC_SUBST(RICE_SAMPLES)
|
45
45
|
|
46
46
|
RICE_ROOT=`pwd`
|
data/extconf.rb
CHANGED
@@ -23,18 +23,15 @@ if RbConfig::CONFIG["ENABLE_SHARED"] == "no"
|
|
23
23
|
Unfortunately Rice does not build against a staticly linked Ruby.
|
24
24
|
You'll need to rebuild Ruby with --enable-shared to use this library.
|
25
25
|
|
26
|
-
If you're on rvm:
|
27
|
-
If you're on rbenv:
|
28
|
-
|
29
|
-
If you are using Heroku, they use a own custom configured, staticly linked Ruby
|
30
|
-
for their stack and it unfortunately does not work with Rice. You will need to use
|
31
|
-
a custom Ruby build pack that builds and uses a non-static version of Ruby.
|
26
|
+
If you're on rvm: rvm reinstall [version] -- --enable-shared
|
27
|
+
If you're on rbenv: CONFIGURE_OPTS="--enable-shared" rbenv install [version]
|
28
|
+
If you're on Heroku: upgrade your stack to heroku-16 or later
|
32
29
|
EOC
|
33
30
|
end
|
34
31
|
|
35
32
|
if RUBY_PLATFORM =~ /darwin(\d+)/
|
36
|
-
#
|
37
|
-
if !
|
33
|
+
check_iconv = 'echo "#include <iconv.h>" | g++ -xc -fsyntax-only -'
|
34
|
+
if !system(check_iconv)
|
38
35
|
abort <<EOM.chomp
|
39
36
|
-----
|
40
37
|
The file "/usr/include/iconv.h" is missing in your build environment,
|
@@ -58,11 +55,15 @@ EOM
|
|
58
55
|
end
|
59
56
|
|
60
57
|
other_opts = "--disable-dependency-tracking"
|
61
|
-
env = "ARCHFLAGS='-arch #{arch}' CPPFLAGS='-arch #{arch}'"
|
62
58
|
else
|
63
59
|
arch = `uname -p`.chomp
|
64
|
-
env = "ARCHFLAGS='-arch #{arch}' CPPFLAGS='-arch #{arch}'"
|
65
60
|
end
|
61
|
+
|
62
|
+
env = if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
|
63
|
+
"ARCHFLAGS='-arch #{arch}' CPPFLAGS='-fdeclspec -arch #{arch}'"
|
64
|
+
else
|
65
|
+
"ARCHFLAGS='-arch #{arch}' CPPFLAGS='-arch #{arch}'"
|
66
|
+
end
|
66
67
|
end
|
67
68
|
|
68
69
|
system "sh bootstrap"
|
data/rice/Array.hpp
CHANGED
@@ -46,12 +46,12 @@ public:
|
|
46
46
|
//! Construct an Array from a C array.
|
47
47
|
/*! \param a a C array of type T and size n.
|
48
48
|
*/
|
49
|
-
template<typename T,
|
49
|
+
template<typename T, long n>
|
50
50
|
Array(T const (& a)[n]);
|
51
51
|
|
52
52
|
public:
|
53
53
|
//! Return the size of the array.
|
54
|
-
|
54
|
+
long size() const;
|
55
55
|
|
56
56
|
//! Return the element at the given index.
|
57
57
|
/*! \param index The index of the desired element. The index may be
|
@@ -59,7 +59,7 @@ public:
|
|
59
59
|
* index is out of bounds, this function has undefined behavior.
|
60
60
|
* \return the element at the given index.
|
61
61
|
*/
|
62
|
-
Object operator[](
|
62
|
+
Object operator[](long index) const;
|
63
63
|
|
64
64
|
private:
|
65
65
|
//! A helper class so array[index]=value can work.
|
@@ -72,7 +72,7 @@ public:
|
|
72
72
|
* index is out of bounds, this function has undefined behavior.
|
73
73
|
* \return the element at the given index.
|
74
74
|
*/
|
75
|
-
Proxy operator[](
|
75
|
+
Proxy operator[](long index);
|
76
76
|
|
77
77
|
//! Push an element onto the end of the array
|
78
78
|
/*! \param v an object to push onto the array.
|
@@ -103,7 +103,7 @@ private:
|
|
103
103
|
template<typename Array_Ref_T, typename Value_T>
|
104
104
|
class Iterator;
|
105
105
|
|
106
|
-
|
106
|
+
long position_of(long index) const;
|
107
107
|
|
108
108
|
public:
|
109
109
|
//! An iterator.
|
@@ -130,7 +130,7 @@ class Array::Proxy
|
|
130
130
|
{
|
131
131
|
public:
|
132
132
|
//! Construct a new Proxy
|
133
|
-
Proxy(Array array,
|
133
|
+
Proxy(Array array, long index);
|
134
134
|
|
135
135
|
//! Implicit conversion to Object.
|
136
136
|
operator Object() const;
|
@@ -144,22 +144,22 @@ public:
|
|
144
144
|
|
145
145
|
private:
|
146
146
|
Array array_;
|
147
|
-
|
147
|
+
long index_;
|
148
148
|
};
|
149
149
|
|
150
150
|
//! A helper class for implementing iterators for a Array.
|
151
151
|
// TODO: This really should be a random-access iterator.
|
152
152
|
template<typename Array_Ref_T, typename Value_T>
|
153
153
|
class Array::Iterator
|
154
|
-
: public std::iterator<
|
155
|
-
std::forward_iterator_tag,
|
156
|
-
Value_T, // Type
|
157
|
-
ptrdiff_t, // Distance type
|
158
|
-
Object *, // Pointer type
|
159
|
-
Value_T &> // Reference type
|
160
154
|
{
|
161
155
|
public:
|
162
|
-
|
156
|
+
using iterator_category = std::forward_iterator_tag;
|
157
|
+
using value_type = Value_T;
|
158
|
+
using difference_type = long;
|
159
|
+
using pointer = Object*;
|
160
|
+
using reference = Value_T&;
|
161
|
+
|
162
|
+
Iterator(Array_Ref_T array, long index);
|
163
163
|
|
164
164
|
template<typename Array_Ref_T_, typename Value_T_>
|
165
165
|
Iterator(Iterator<Array_Ref_T_, Value_T_> const & rhs);
|
@@ -183,11 +183,11 @@ public:
|
|
183
183
|
// friend class Iterator;
|
184
184
|
|
185
185
|
Array_Ref_T array() const;
|
186
|
-
|
186
|
+
long index() const;
|
187
187
|
|
188
188
|
private:
|
189
189
|
Array_Ref_T array_;
|
190
|
-
|
190
|
+
long index_;
|
191
191
|
|
192
192
|
Object tmp_;
|
193
193
|
};
|
data/rice/Array.ipp
CHANGED
@@ -32,31 +32,31 @@ Array(Iter_T it, Iter_T end)
|
|
32
32
|
}
|
33
33
|
}
|
34
34
|
|
35
|
-
template<typename T,
|
35
|
+
template<typename T, long n>
|
36
36
|
inline Rice::Array::
|
37
37
|
Array(T const (& a)[n])
|
38
38
|
: Builtin_Object<T_ARRAY>(protect(rb_ary_new))
|
39
39
|
{
|
40
|
-
for(
|
40
|
+
for(long j = 0; j < n; ++j)
|
41
41
|
{
|
42
42
|
push(a[j]);
|
43
43
|
}
|
44
44
|
}
|
45
45
|
|
46
|
-
inline
|
46
|
+
inline long Rice::Array::
|
47
47
|
size() const
|
48
48
|
{
|
49
49
|
return RARRAY_LEN(this->value());
|
50
50
|
}
|
51
51
|
|
52
52
|
inline Rice::Object Rice::Array::
|
53
|
-
operator[](
|
53
|
+
operator[](long index) const
|
54
54
|
{
|
55
55
|
return protect(rb_ary_entry, value(), position_of(index));
|
56
56
|
}
|
57
57
|
|
58
58
|
inline Rice::Array::Proxy Rice::Array::
|
59
|
-
operator[](
|
59
|
+
operator[](long index)
|
60
60
|
{
|
61
61
|
return Proxy(*this, position_of(index));
|
62
62
|
}
|
@@ -87,8 +87,8 @@ shift()
|
|
87
87
|
return protect(rb_ary_shift, value());
|
88
88
|
}
|
89
89
|
|
90
|
-
inline
|
91
|
-
position_of(
|
90
|
+
inline long Rice::Array::
|
91
|
+
position_of(long index) const
|
92
92
|
{
|
93
93
|
if(index < 0)
|
94
94
|
{
|
@@ -96,12 +96,12 @@ position_of(ptrdiff_t index) const
|
|
96
96
|
}
|
97
97
|
else
|
98
98
|
{
|
99
|
-
return static_cast<
|
99
|
+
return static_cast<long>(index);
|
100
100
|
}
|
101
101
|
}
|
102
102
|
|
103
103
|
inline Rice::Array::Proxy::
|
104
|
-
Proxy(Array array,
|
104
|
+
Proxy(Array array, long index)
|
105
105
|
: array_(array)
|
106
106
|
, index_(index)
|
107
107
|
{
|
@@ -130,7 +130,7 @@ operator=(T const & value)
|
|
130
130
|
|
131
131
|
template<typename Array_Ref_T, typename Value_T>
|
132
132
|
inline Rice::Array::Iterator<Array_Ref_T, Value_T>::
|
133
|
-
Iterator(Array_Ref_T array,
|
133
|
+
Iterator(Array_Ref_T array, long index)
|
134
134
|
: array_(array)
|
135
135
|
, index_(index)
|
136
136
|
{
|
@@ -221,7 +221,7 @@ array() const
|
|
221
221
|
}
|
222
222
|
|
223
223
|
template<typename Array_Ref_T, typename Value_T>
|
224
|
-
|
224
|
+
long
|
225
225
|
Rice::Array::Iterator<Array_Ref_T, Value_T>::
|
226
226
|
index() const
|
227
227
|
{
|
data/rice/Class_defn.hpp
CHANGED
data/rice/Constructor.hpp
CHANGED
@@ -1,391 +1,47 @@
|
|
1
1
|
#ifndef Rice__Constructor__hpp_
|
2
2
|
#define Rice__Constructor__hpp_
|
3
3
|
|
4
|
-
// This is a generated file. DO NOT EDIT!!
|
5
|
-
|
6
|
-
|
7
4
|
// This causes problems with certain C++ libraries
|
8
5
|
#undef TYPE
|
9
6
|
|
10
7
|
#include "to_from_ruby_defn.hpp"
|
11
|
-
|
8
|
+
|
12
9
|
namespace Rice
|
13
10
|
{
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
template<typename T, typename ArgTypes, ...>
|
29
|
-
class Constructor
|
30
|
-
{
|
31
|
-
};
|
32
|
-
|
33
|
-
#else
|
34
|
-
|
35
|
-
template<typename T, typename Arg0_T=void, typename Arg1_T=void, typename Arg2_T=void, typename Arg3_T=void, typename Arg4_T=void, typename Arg5_T=void, typename Arg6_T=void, typename Arg7_T=void, typename Arg8_T=void, typename Arg9_T=void, typename Arg10_T=void, typename Arg11_T=void, typename Arg12_T=void, typename Arg13_T=void, typename Arg14_T=void, typename Arg15_T=void>
|
11
|
+
//! Define a Type's Constructor and it's arguments.
|
12
|
+
/*! E.g. for the default constructor on a Type:
|
13
|
+
\code
|
14
|
+
define_class<Test>()
|
15
|
+
.define_constructor(Constructor<Test>());
|
16
|
+
\endcode
|
17
|
+
*
|
18
|
+
* The first template type must be the type being wrapped.
|
19
|
+
* Afterwards any extra types must match the appropriate constructor
|
20
|
+
* to be used in C++ when constructing the object.
|
21
|
+
*
|
22
|
+
* For more information, see Rice::Data_Type::define_constructor.
|
23
|
+
*/
|
24
|
+
template<typename T, typename ...Arg_T>
|
36
25
|
class Constructor
|
37
26
|
{
|
38
|
-
private:
|
39
|
-
Constructor()
|
40
|
-
{
|
41
|
-
}
|
42
|
-
};
|
43
|
-
|
44
|
-
template<typename T>
|
45
|
-
class Constructor<T, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void>
|
46
|
-
{
|
47
27
|
public:
|
48
|
-
static void construct(Object self)
|
28
|
+
static void construct(Object self, Arg_T... args)
|
49
29
|
{
|
50
|
-
DATA_PTR(self.value()) = new T();
|
30
|
+
DATA_PTR(self.value()) = new T(args...);
|
51
31
|
}
|
52
32
|
};
|
53
33
|
|
54
|
-
|
55
|
-
template<typename T>
|
56
|
-
class Constructor<T, Object,
|
34
|
+
//! Special-case Constructor used when defining Directors.
|
35
|
+
template<typename T, typename ...Arg_T>
|
36
|
+
class Constructor<T, Object, Arg_T...>
|
57
37
|
{
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
38
|
+
public:
|
39
|
+
static void construct(Object self, Arg_T... args)
|
40
|
+
{
|
41
|
+
DATA_PTR(self.value()) = new T(self, args...);
|
42
|
+
}
|
63
43
|
};
|
44
|
+
}
|
64
45
|
|
65
|
-
|
66
|
-
template<typename T, typename Arg0_T>
|
67
|
-
class Constructor<T, Arg0_T, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void>
|
68
|
-
{
|
69
|
-
public:
|
70
|
-
static void construct(Object self, Arg0_T arg0)
|
71
|
-
{
|
72
|
-
DATA_PTR(self.value()) = new T(arg0);
|
73
|
-
}
|
74
|
-
};
|
75
|
-
|
76
|
-
|
77
|
-
template<typename T, typename Arg0_T, typename Arg1_T>
|
78
|
-
class Constructor<T, Arg0_T, Arg1_T, void, void, void, void, void, void, void, void, void, void, void, void, void, void>
|
79
|
-
{
|
80
|
-
public:
|
81
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1)
|
82
|
-
{
|
83
|
-
DATA_PTR(self.value()) = new T(arg0, arg1);
|
84
|
-
}
|
85
|
-
};
|
86
|
-
|
87
|
-
|
88
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
|
89
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, void, void, void, void, void, void, void, void, void, void, void, void, void>
|
90
|
-
{
|
91
|
-
public:
|
92
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2)
|
93
|
-
{
|
94
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2);
|
95
|
-
}
|
96
|
-
};
|
97
|
-
|
98
|
-
|
99
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
|
100
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, void, void, void, void, void, void, void, void, void, void, void, void>
|
101
|
-
{
|
102
|
-
public:
|
103
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3)
|
104
|
-
{
|
105
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3);
|
106
|
-
}
|
107
|
-
};
|
108
|
-
|
109
|
-
|
110
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
|
111
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, void, void, void, void, void, void, void, void, void, void, void>
|
112
|
-
{
|
113
|
-
public:
|
114
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4)
|
115
|
-
{
|
116
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4);
|
117
|
-
}
|
118
|
-
};
|
119
|
-
|
120
|
-
|
121
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
|
122
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, void, void, void, void, void, void, void, void, void, void>
|
123
|
-
{
|
124
|
-
public:
|
125
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5)
|
126
|
-
{
|
127
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5);
|
128
|
-
}
|
129
|
-
};
|
130
|
-
|
131
|
-
|
132
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T>
|
133
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, void, void, void, void, void, void, void, void, void>
|
134
|
-
{
|
135
|
-
public:
|
136
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6)
|
137
|
-
{
|
138
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
|
139
|
-
}
|
140
|
-
};
|
141
|
-
|
142
|
-
|
143
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T>
|
144
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, void, void, void, void, void, void, void, void>
|
145
|
-
{
|
146
|
-
public:
|
147
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7)
|
148
|
-
{
|
149
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
150
|
-
}
|
151
|
-
};
|
152
|
-
|
153
|
-
|
154
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T>
|
155
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, void, void, void, void, void, void, void>
|
156
|
-
{
|
157
|
-
public:
|
158
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8)
|
159
|
-
{
|
160
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
161
|
-
}
|
162
|
-
};
|
163
|
-
|
164
|
-
|
165
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T>
|
166
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, void, void, void, void, void, void>
|
167
|
-
{
|
168
|
-
public:
|
169
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9)
|
170
|
-
{
|
171
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
172
|
-
}
|
173
|
-
};
|
174
|
-
|
175
|
-
|
176
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T>
|
177
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, void, void, void, void, void>
|
178
|
-
{
|
179
|
-
public:
|
180
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10)
|
181
|
-
{
|
182
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
183
|
-
}
|
184
|
-
};
|
185
|
-
|
186
|
-
|
187
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T>
|
188
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, void, void, void, void>
|
189
|
-
{
|
190
|
-
public:
|
191
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10, Arg11_T arg11)
|
192
|
-
{
|
193
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
|
194
|
-
}
|
195
|
-
};
|
196
|
-
|
197
|
-
|
198
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T>
|
199
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, void, void, void>
|
200
|
-
{
|
201
|
-
public:
|
202
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10, Arg11_T arg11, Arg12_T arg12)
|
203
|
-
{
|
204
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
|
205
|
-
}
|
206
|
-
};
|
207
|
-
|
208
|
-
|
209
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T, typename Arg13_T>
|
210
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, Arg13_T, void, void>
|
211
|
-
{
|
212
|
-
public:
|
213
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10, Arg11_T arg11, Arg12_T arg12, Arg13_T arg13)
|
214
|
-
{
|
215
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
|
216
|
-
}
|
217
|
-
};
|
218
|
-
|
219
|
-
|
220
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T, typename Arg13_T, typename Arg14_T>
|
221
|
-
class Constructor<T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, Arg13_T, Arg14_T, void>
|
222
|
-
{
|
223
|
-
public:
|
224
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10, Arg11_T arg11, Arg12_T arg12, Arg13_T arg13, Arg14_T arg14)
|
225
|
-
{
|
226
|
-
DATA_PTR(self.value()) = new T(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
|
227
|
-
}
|
228
|
-
};
|
229
|
-
|
230
|
-
|
231
|
-
template<typename T, typename Arg0_T>
|
232
|
-
class Constructor<T, Object, Arg0_T, void, void, void, void, void, void, void, void, void, void, void, void, void, void>
|
233
|
-
{
|
234
|
-
public:
|
235
|
-
static void construct(Object self, Arg0_T arg0)
|
236
|
-
{
|
237
|
-
DATA_PTR(self.value()) = new T(self, arg0);
|
238
|
-
}
|
239
|
-
};
|
240
|
-
|
241
|
-
|
242
|
-
template<typename T, typename Arg0_T, typename Arg1_T>
|
243
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, void, void, void, void, void, void, void, void, void, void, void, void, void>
|
244
|
-
{
|
245
|
-
public:
|
246
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1)
|
247
|
-
{
|
248
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1);
|
249
|
-
}
|
250
|
-
};
|
251
|
-
|
252
|
-
|
253
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
|
254
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, void, void, void, void, void, void, void, void, void, void, void, void>
|
255
|
-
{
|
256
|
-
public:
|
257
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2)
|
258
|
-
{
|
259
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2);
|
260
|
-
}
|
261
|
-
};
|
262
|
-
|
263
|
-
|
264
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
|
265
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, void, void, void, void, void, void, void, void, void, void, void>
|
266
|
-
{
|
267
|
-
public:
|
268
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3)
|
269
|
-
{
|
270
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3);
|
271
|
-
}
|
272
|
-
};
|
273
|
-
|
274
|
-
|
275
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
|
276
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, void, void, void, void, void, void, void, void, void, void>
|
277
|
-
{
|
278
|
-
public:
|
279
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4)
|
280
|
-
{
|
281
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4);
|
282
|
-
}
|
283
|
-
};
|
284
|
-
|
285
|
-
|
286
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
|
287
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, void, void, void, void, void, void, void, void, void>
|
288
|
-
{
|
289
|
-
public:
|
290
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5)
|
291
|
-
{
|
292
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5);
|
293
|
-
}
|
294
|
-
};
|
295
|
-
|
296
|
-
|
297
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T>
|
298
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, void, void, void, void, void, void, void, void>
|
299
|
-
{
|
300
|
-
public:
|
301
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6)
|
302
|
-
{
|
303
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
|
304
|
-
}
|
305
|
-
};
|
306
|
-
|
307
|
-
|
308
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T>
|
309
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, void, void, void, void, void, void, void>
|
310
|
-
{
|
311
|
-
public:
|
312
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7)
|
313
|
-
{
|
314
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
|
315
|
-
}
|
316
|
-
};
|
317
|
-
|
318
|
-
|
319
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T>
|
320
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, void, void, void, void, void, void>
|
321
|
-
{
|
322
|
-
public:
|
323
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8)
|
324
|
-
{
|
325
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
326
|
-
}
|
327
|
-
};
|
328
|
-
|
329
|
-
|
330
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T>
|
331
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, void, void, void, void, void>
|
332
|
-
{
|
333
|
-
public:
|
334
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9)
|
335
|
-
{
|
336
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
337
|
-
}
|
338
|
-
};
|
339
|
-
|
340
|
-
|
341
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T>
|
342
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, void, void, void, void>
|
343
|
-
{
|
344
|
-
public:
|
345
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10)
|
346
|
-
{
|
347
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
348
|
-
}
|
349
|
-
};
|
350
|
-
|
351
|
-
|
352
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T>
|
353
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, void, void, void>
|
354
|
-
{
|
355
|
-
public:
|
356
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10, Arg11_T arg11)
|
357
|
-
{
|
358
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
|
359
|
-
}
|
360
|
-
};
|
361
|
-
|
362
|
-
|
363
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T>
|
364
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, void, void>
|
365
|
-
{
|
366
|
-
public:
|
367
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10, Arg11_T arg11, Arg12_T arg12)
|
368
|
-
{
|
369
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
|
370
|
-
}
|
371
|
-
};
|
372
|
-
|
373
|
-
|
374
|
-
template<typename T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T, typename Arg13_T>
|
375
|
-
class Constructor<T, Object, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, Arg13_T, void>
|
376
|
-
{
|
377
|
-
public:
|
378
|
-
static void construct(Object self, Arg0_T arg0, Arg1_T arg1, Arg2_T arg2, Arg3_T arg3, Arg4_T arg4, Arg5_T arg5, Arg6_T arg6, Arg7_T arg7, Arg8_T arg8, Arg9_T arg9, Arg10_T arg10, Arg11_T arg11, Arg12_T arg12, Arg13_T arg13)
|
379
|
-
{
|
380
|
-
DATA_PTR(self.value()) = new T(self, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
|
381
|
-
}
|
382
|
-
};
|
383
|
-
|
384
|
-
|
385
|
-
#endif // DOXYGEN
|
386
|
-
|
387
|
-
} // namespace Rice
|
388
|
-
|
389
|
-
|
390
|
-
#endif // Rice__Constructor__hpp_
|
46
|
+
#endif
|
391
47
|
|