rice 3.0.0 → 4.0.3
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 +4 -4
- data/CHANGELOG.md +121 -0
- data/CONTRIBUTORS.md +19 -0
- data/Gemfile +3 -0
- data/README.md +44 -1025
- data/Rakefile +95 -12
- data/include/rice/rice.hpp +7766 -0
- data/include/rice/stl.hpp +1113 -0
- data/lib/mkmf-rice.rb +127 -0
- data/lib/version.rb +3 -0
- data/rice/Address_Registration_Guard.ipp +75 -32
- data/rice/Address_Registration_Guard_defn.hpp +60 -56
- data/rice/Arg.hpp +80 -4
- data/rice/Arg.ipp +51 -0
- data/rice/Constructor.hpp +12 -14
- data/rice/Data_Object.ipp +234 -107
- data/rice/Data_Object_defn.hpp +77 -117
- data/rice/Data_Type.hpp +1 -2
- data/rice/Data_Type.ipp +251 -295
- data/rice/Data_Type_defn.hpp +175 -243
- data/rice/Director.hpp +11 -6
- data/rice/Enum.hpp +54 -104
- data/rice/Enum.ipp +104 -230
- data/rice/Exception.hpp +2 -8
- data/rice/Exception.ipp +65 -0
- data/rice/Exception_defn.hpp +46 -47
- data/rice/Identifier.hpp +28 -28
- data/rice/Identifier.ipp +23 -27
- data/rice/Return.hpp +39 -0
- data/rice/Return.ipp +33 -0
- data/rice/detail/Exception_Handler.ipp +22 -62
- data/rice/detail/Exception_Handler_defn.hpp +76 -91
- data/rice/detail/Iterator.hpp +18 -88
- data/rice/detail/Iterator.ipp +47 -0
- data/rice/detail/Jump_Tag.hpp +21 -0
- data/rice/detail/MethodInfo.hpp +44 -0
- data/rice/detail/MethodInfo.ipp +78 -0
- data/rice/detail/NativeAttribute.hpp +53 -0
- data/rice/detail/NativeAttribute.ipp +83 -0
- data/rice/detail/NativeFunction.hpp +69 -0
- data/rice/detail/NativeFunction.ipp +248 -0
- data/rice/detail/RubyFunction.hpp +39 -0
- data/rice/detail/RubyFunction.ipp +92 -0
- data/rice/detail/Type.hpp +29 -0
- data/rice/detail/Type.ipp +138 -0
- data/rice/detail/TypeRegistry.hpp +50 -0
- data/rice/detail/TypeRegistry.ipp +106 -0
- data/rice/detail/Wrapper.hpp +51 -0
- data/rice/detail/Wrapper.ipp +151 -0
- data/rice/detail/default_allocation_func.hpp +8 -19
- data/rice/detail/default_allocation_func.ipp +9 -8
- data/rice/detail/from_ruby.hpp +2 -37
- data/rice/detail/from_ruby.ipp +1020 -46
- data/rice/detail/from_ruby_defn.hpp +38 -0
- data/rice/detail/function_traits.hpp +124 -0
- data/rice/detail/method_data.hpp +23 -15
- data/rice/detail/method_data.ipp +53 -0
- data/rice/detail/rice_traits.hpp +116 -0
- data/rice/detail/ruby.hpp +9 -46
- data/rice/detail/to_ruby.hpp +3 -17
- data/rice/detail/to_ruby.ipp +409 -31
- data/rice/detail/to_ruby_defn.hpp +48 -0
- data/rice/forward_declares.ipp +82 -0
- data/rice/global_function.hpp +16 -20
- data/rice/global_function.ipp +8 -17
- data/rice/rice.hpp +59 -0
- data/rice/ruby_mark.hpp +5 -3
- data/rice/ruby_try_catch.hpp +4 -4
- data/rice/stl.hpp +11 -0
- data/sample/callbacks/extconf.rb +3 -0
- data/sample/callbacks/sample_callbacks.cpp +10 -13
- data/sample/enum/extconf.rb +3 -0
- data/sample/enum/sample_enum.cpp +3 -17
- data/sample/enum/test.rb +2 -2
- data/sample/inheritance/animals.cpp +8 -24
- data/sample/inheritance/extconf.rb +3 -0
- data/sample/inheritance/test.rb +1 -1
- data/sample/map/extconf.rb +3 -0
- data/sample/map/map.cpp +10 -18
- data/sample/map/test.rb +1 -1
- data/test/embed_ruby.cpp +18 -5
- data/test/ext/t1/extconf.rb +3 -0
- data/test/ext/t1/t1.cpp +1 -3
- data/test/ext/t2/extconf.rb +3 -0
- data/test/ext/t2/t2.cpp +1 -1
- data/test/extconf.rb +23 -0
- data/test/ruby/test_callbacks_sample.rb +28 -0
- data/test/ruby/test_multiple_extensions.rb +18 -0
- data/test/ruby/test_multiple_extensions_same_class.rb +14 -0
- data/test/ruby/test_multiple_extensions_with_inheritance.rb +20 -0
- data/test/test_Address_Registration_Guard.cpp +23 -10
- data/test/test_Array.cpp +129 -73
- data/test/test_Attribute.cpp +147 -0
- data/test/test_Builtin_Object.cpp +34 -14
- data/test/test_Class.cpp +149 -275
- data/test/test_Constructor.cpp +10 -9
- data/test/test_Data_Object.cpp +133 -192
- data/test/test_Data_Type.cpp +322 -252
- data/test/test_Director.cpp +54 -41
- data/test/test_Enum.cpp +228 -103
- data/test/test_Exception.cpp +5 -6
- data/test/test_Hash.cpp +31 -30
- data/test/test_Identifier.cpp +4 -5
- data/test/test_Inheritance.cpp +221 -0
- data/test/test_Iterator.cpp +161 -0
- data/test/test_Jump_Tag.cpp +1 -1
- data/test/test_Keep_Alive.cpp +161 -0
- data/test/test_Memory_Management.cpp +2 -4
- data/test/test_Module.cpp +167 -110
- data/test/test_Object.cpp +41 -21
- data/test/test_Ownership.cpp +275 -0
- data/test/test_Self.cpp +205 -0
- data/test/test_Stl_Optional.cpp +90 -0
- data/test/test_Stl_Pair.cpp +144 -0
- data/test/test_Stl_SmartPointer.cpp +200 -0
- data/test/test_Stl_String.cpp +74 -0
- data/test/test_Stl_Vector.cpp +652 -0
- data/test/test_String.cpp +1 -2
- data/test/test_Struct.cpp +29 -39
- data/test/test_Symbol.cpp +1 -2
- data/test/test_To_From_Ruby.cpp +249 -285
- data/test/test_global_functions.cpp +39 -19
- data/test/unittest.hpp +0 -4
- metadata +70 -141
- data/Doxyfile +0 -2268
- data/Makefile.am +0 -26
- data/Makefile.in +0 -931
- data/README.mingw +0 -8
- data/aclocal.m4 +0 -1085
- data/ax_cxx_compile_stdcxx.m4 +0 -951
- data/bootstrap +0 -8
- data/config.guess +0 -1421
- data/config.sub +0 -1807
- data/configure +0 -7792
- data/configure.ac +0 -55
- data/depcomp +0 -791
- data/doxygen.ac +0 -314
- data/doxygen.am +0 -186
- data/extconf.rb +0 -70
- data/install-sh +0 -501
- data/missing +0 -215
- data/post-autoconf.rb +0 -22
- data/post-automake.rb +0 -28
- data/rice/Address_Registration_Guard.cpp +0 -22
- data/rice/Arg_impl.hpp +0 -129
- data/rice/Arg_operators.cpp +0 -21
- data/rice/Arg_operators.hpp +0 -19
- data/rice/Array.hpp +0 -214
- data/rice/Array.ipp +0 -256
- data/rice/Builtin_Object.hpp +0 -8
- data/rice/Builtin_Object.ipp +0 -50
- data/rice/Builtin_Object_defn.hpp +0 -50
- data/rice/Class.cpp +0 -57
- data/rice/Class.hpp +0 -8
- data/rice/Class.ipp +0 -6
- data/rice/Class_defn.hpp +0 -84
- data/rice/Data_Type.cpp +0 -54
- data/rice/Data_Type_fwd.hpp +0 -12
- data/rice/Director.cpp +0 -13
- data/rice/Exception.cpp +0 -54
- data/rice/Exception_Base.hpp +0 -8
- data/rice/Exception_Base.ipp +0 -13
- data/rice/Exception_Base_defn.hpp +0 -27
- data/rice/Hash.hpp +0 -230
- data/rice/Hash.ipp +0 -329
- data/rice/Identifier.cpp +0 -8
- data/rice/Jump_Tag.hpp +0 -24
- data/rice/Makefile.am +0 -121
- data/rice/Makefile.in +0 -884
- data/rice/Module.cpp +0 -84
- data/rice/Module.hpp +0 -8
- data/rice/Module.ipp +0 -6
- data/rice/Module_defn.hpp +0 -88
- data/rice/Module_impl.hpp +0 -281
- data/rice/Module_impl.ipp +0 -345
- data/rice/Object.cpp +0 -169
- data/rice/Object.hpp +0 -8
- data/rice/Object.ipp +0 -33
- data/rice/Object_defn.hpp +0 -214
- data/rice/Require_Guard.hpp +0 -21
- data/rice/String.cpp +0 -89
- data/rice/String.hpp +0 -91
- data/rice/Struct.cpp +0 -117
- data/rice/Struct.hpp +0 -162
- data/rice/Struct.ipp +0 -26
- data/rice/Symbol.cpp +0 -25
- data/rice/Symbol.hpp +0 -66
- data/rice/Symbol.ipp +0 -44
- data/rice/config.hpp +0 -47
- data/rice/config.hpp.in +0 -46
- data/rice/detail/Arguments.hpp +0 -118
- data/rice/detail/Auto_Function_Wrapper.hpp +0 -898
- data/rice/detail/Auto_Function_Wrapper.ipp +0 -3181
- data/rice/detail/Auto_Member_Function_Wrapper.hpp +0 -897
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +0 -2501
- data/rice/detail/Caster.hpp +0 -103
- data/rice/detail/Not_Copyable.hpp +0 -25
- data/rice/detail/Wrapped_Function.hpp +0 -33
- data/rice/detail/cfp.hpp +0 -24
- data/rice/detail/cfp.ipp +0 -51
- data/rice/detail/check_ruby_type.cpp +0 -27
- data/rice/detail/check_ruby_type.hpp +0 -23
- data/rice/detail/creation_funcs.hpp +0 -37
- data/rice/detail/creation_funcs.ipp +0 -36
- data/rice/detail/define_method_and_auto_wrap.hpp +0 -31
- data/rice/detail/define_method_and_auto_wrap.ipp +0 -30
- data/rice/detail/demangle.cpp +0 -56
- data/rice/detail/demangle.hpp +0 -19
- data/rice/detail/env.hpp +0 -11
- data/rice/detail/method_data.cpp +0 -92
- data/rice/detail/node.hpp +0 -13
- data/rice/detail/protect.cpp +0 -29
- data/rice/detail/protect.hpp +0 -34
- data/rice/detail/ruby_version_code.hpp +0 -6
- data/rice/detail/ruby_version_code.hpp.in +0 -6
- data/rice/detail/st.hpp +0 -22
- data/rice/detail/win32.hpp +0 -16
- data/rice/detail/wrap_function.hpp +0 -66
- data/rice/protect.hpp +0 -38
- data/rice/protect.ipp +0 -1134
- data/rice/rubypp.rb +0 -97
- data/rice/to_from_ruby.hpp +0 -8
- data/rice/to_from_ruby.ipp +0 -418
- data/rice/to_from_ruby_defn.hpp +0 -70
- data/ruby/Makefile.am +0 -1
- data/ruby/Makefile.in +0 -628
- data/ruby/lib/Makefile.am +0 -3
- data/ruby/lib/Makefile.in +0 -506
- data/ruby/lib/mkmf-rice.rb.in +0 -217
- data/ruby/lib/version.rb +0 -3
- data/ruby.ac +0 -135
- data/sample/Makefile.am +0 -53
- data/sample/Makefile.in +0 -495
- data/test/Makefile.am +0 -73
- data/test/Makefile.in +0 -1219
- data/test/ext/Makefile.am +0 -41
- data/test/ext/Makefile.in +0 -483
- data/test/test_rice.rb +0 -45
data/rice/detail/st.hpp
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#ifndef Exc_Ruby___cpp__st__hpp_
|
|
2
|
-
#define Exc_Ruby___cpp__st__hpp_
|
|
3
|
-
|
|
4
|
-
/*! \file
|
|
5
|
-
* \brief Hacks to allow functions in st.h to be called from C++
|
|
6
|
-
* programs.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
#include "ruby.hpp"
|
|
10
|
-
|
|
11
|
-
// Ruby doesn't put extern "C" around st.h
|
|
12
|
-
|
|
13
|
-
extern "C"
|
|
14
|
-
{
|
|
15
|
-
#ifdef RUBY_VM
|
|
16
|
-
#include "ruby/st.h"
|
|
17
|
-
#else
|
|
18
|
-
#include "st.h"
|
|
19
|
-
#endif
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
#endif // Exc_Ruby___cpp__st__hpp_
|
data/rice/detail/win32.hpp
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#ifndef Rice__detail__win32__hpp_
|
|
2
|
-
#define Rice__detail__win32__hpp_
|
|
3
|
-
|
|
4
|
-
/*! \file
|
|
5
|
-
* \brief Undefine all the evil macros that are defined in win32.h
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
// None of these macros are used in Ruby header files
|
|
9
|
-
#undef bind
|
|
10
|
-
#undef read
|
|
11
|
-
#undef write
|
|
12
|
-
#undef send
|
|
13
|
-
#undef recv
|
|
14
|
-
#undef times
|
|
15
|
-
|
|
16
|
-
#endif // Rice__detail__win32__hpp_
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
#ifndef Rice__detail__wrap_function__hpp_
|
|
2
|
-
#define Rice__detail__wrap_function__hpp_
|
|
3
|
-
|
|
4
|
-
// This causes problems with certain C++ libraries
|
|
5
|
-
#undef TYPE
|
|
6
|
-
|
|
7
|
-
#include "Exception_Handler.hpp"
|
|
8
|
-
#include "Wrapped_Function.hpp"
|
|
9
|
-
#include "../Object_defn.hpp"
|
|
10
|
-
#include "../Data_Object.hpp"
|
|
11
|
-
#include "Arguments.hpp"
|
|
12
|
-
#include "Auto_Function_Wrapper.hpp"
|
|
13
|
-
#include "Auto_Member_Function_Wrapper.hpp"
|
|
14
|
-
|
|
15
|
-
namespace Rice
|
|
16
|
-
{
|
|
17
|
-
|
|
18
|
-
namespace detail
|
|
19
|
-
{
|
|
20
|
-
|
|
21
|
-
template<typename Ret_T>
|
|
22
|
-
Wrapped_Function * wrap_function(
|
|
23
|
-
Ret_T (*func)(),
|
|
24
|
-
Data_Object<Exception_Handler> handler,
|
|
25
|
-
Arguments* arguments)
|
|
26
|
-
{
|
|
27
|
-
typedef Ret_T (*Func)();
|
|
28
|
-
return new Auto_Function_Wrapper<Func, Ret_T>(func, handler, arguments);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
template<typename Ret_T, typename ...Arg_T>
|
|
32
|
-
Wrapped_Function * wrap_function(
|
|
33
|
-
Ret_T (*func)(Arg_T...),
|
|
34
|
-
Data_Object<Exception_Handler> handler,
|
|
35
|
-
Arguments* arguments)
|
|
36
|
-
{
|
|
37
|
-
typedef Ret_T (*Func)(Arg_T...);
|
|
38
|
-
return new Auto_Function_Wrapper<Func, Ret_T, Arg_T...>(func, handler, arguments);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
template<typename Ret_T, typename Self_T, typename ...Arg_T>
|
|
42
|
-
Wrapped_Function * wrap_function(
|
|
43
|
-
Ret_T (Self_T::*func)(Arg_T...),
|
|
44
|
-
Data_Object<Exception_Handler> handler,
|
|
45
|
-
Arguments* arguments)
|
|
46
|
-
{
|
|
47
|
-
typedef Ret_T (Self_T::*Func)(Arg_T...);
|
|
48
|
-
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg_T...>(func, handler, arguments);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
template<typename Ret_T, typename Self_T, typename ...Arg_T>
|
|
52
|
-
Wrapped_Function * wrap_function(
|
|
53
|
-
Ret_T (Self_T::*func)(Arg_T...) const,
|
|
54
|
-
Data_Object<Exception_Handler> handler,
|
|
55
|
-
Arguments* arguments)
|
|
56
|
-
{
|
|
57
|
-
typedef Ret_T (Self_T::*Func)(Arg_T...) const;
|
|
58
|
-
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg_T...>(func, handler, arguments);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
} // namespace detail
|
|
62
|
-
|
|
63
|
-
} // namespace Rice
|
|
64
|
-
|
|
65
|
-
#endif // Rice__detail__wrap_function__hpp_
|
|
66
|
-
|
data/rice/protect.hpp
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#ifndef Rice__protect__hpp_
|
|
2
|
-
#define Rice__protect__hpp_
|
|
3
|
-
|
|
4
|
-
// This causes problems with certain C++ libraries
|
|
5
|
-
#undef TYPE
|
|
6
|
-
|
|
7
|
-
#include "Object_defn.hpp"
|
|
8
|
-
|
|
9
|
-
namespace Rice
|
|
10
|
-
{
|
|
11
|
-
|
|
12
|
-
/*! \file
|
|
13
|
-
* \brief A collection of functions (overloaded on number of
|
|
14
|
-
* arguments) for calling C functions that might raise Ruby exceptions.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
//! Call the C function f with arguments (arg1, arg2, ...).
|
|
18
|
-
/*! E.g.:
|
|
19
|
-
* \code
|
|
20
|
-
* VALUE x = protect(rb_ary_new);
|
|
21
|
-
* protect(rb_ary_push, x, INT2NUM(42));
|
|
22
|
-
* \endcode
|
|
23
|
-
*
|
|
24
|
-
* Note that this function makes copies of all of its arguments; it
|
|
25
|
-
* does not take anything by reference. All of the copies are const so
|
|
26
|
-
* that protect will not work if f takes a non-const
|
|
27
|
-
* reference to any of its arguments (though you can use non-const
|
|
28
|
-
* pointers).
|
|
29
|
-
*/
|
|
30
|
-
template<typename Fun, typename ...ArgT>
|
|
31
|
-
VALUE protect(Fun fun, ArgT const &... args);
|
|
32
|
-
|
|
33
|
-
} // namespace Rice
|
|
34
|
-
|
|
35
|
-
#include "protect.ipp"
|
|
36
|
-
|
|
37
|
-
#endif // Rice__protect__hpp_
|
|
38
|
-
|