rice 1.0.2 → 1.1.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.
Files changed (92) hide show
  1. data/COPYING +2 -2
  2. data/Doxyfile +1 -1
  3. data/Makefile.in +8 -3
  4. data/Rakefile +3 -3
  5. data/config.guess +30 -49
  6. data/config.sub +4 -22
  7. data/configure +319 -104
  8. data/configure.ac +6 -2
  9. data/doxygen.ac +2 -2
  10. data/extconf.rb +22 -0
  11. data/post-autoconf.rb +3 -3
  12. data/post-automake.rb +2 -2
  13. data/rice/Array.ipp +7 -6
  14. data/rice/Critical_Guard.hpp +6 -0
  15. data/rice/Critical_Guard.ipp +6 -0
  16. data/rice/Data_Object.hpp +1 -120
  17. data/rice/Data_Object.ipp +5 -1
  18. data/rice/Data_Object_defn.hpp +132 -0
  19. data/rice/Data_Type.ipp +18 -2
  20. data/rice/Enum.ipp +3 -3
  21. data/rice/Exception.hpp +1 -61
  22. data/rice/Exception_Base.hpp +2 -24
  23. data/rice/Exception_Base.ipp +2 -0
  24. data/rice/Exception_Base_defn.hpp +27 -0
  25. data/rice/Exception_defn.hpp +69 -0
  26. data/rice/Hash.hpp +5 -1
  27. data/rice/Hash.ipp +7 -7
  28. data/rice/Makefile.am +20 -3
  29. data/rice/Makefile.in +39 -4
  30. data/rice/Module.cpp +11 -3
  31. data/rice/Module_impl.hpp +20 -9
  32. data/rice/Module_impl.ipp +84 -87
  33. data/rice/Object.cpp +1 -1
  34. data/rice/VM.cpp +14 -1
  35. data/rice/VM.hpp +6 -1
  36. data/rice/config.hpp +24 -3
  37. data/rice/config.hpp.in +21 -0
  38. data/rice/detail/Auto_Function_Wrapper.hpp +97 -65
  39. data/rice/detail/Auto_Function_Wrapper.ipp +160 -128
  40. data/rice/detail/Auto_Member_Function_Wrapper.hpp +96 -64
  41. data/rice/detail/Auto_Member_Function_Wrapper.ipp +160 -128
  42. data/rice/detail/Exception_Handler.hpp +2 -112
  43. data/rice/detail/Exception_Handler.ipp +68 -0
  44. data/rice/detail/Exception_Handler_defn.hpp +96 -0
  45. data/rice/detail/Iterator.hpp +93 -0
  46. data/rice/detail/check_ruby_type.cpp +8 -2
  47. data/rice/detail/creation_funcs.ipp +2 -2
  48. data/rice/detail/define_method_and_auto_wrap.hpp +4 -2
  49. data/rice/detail/define_method_and_auto_wrap.ipp +14 -5
  50. data/rice/detail/env.hpp +4 -0
  51. data/rice/detail/method_data.cpp +362 -75
  52. data/rice/detail/method_data.cpp.rpp +301 -0
  53. data/rice/detail/method_data.hpp +6 -18
  54. data/rice/detail/mininode.cpp +1220 -0
  55. data/rice/detail/mininode.cpp.rpp +62 -0
  56. data/rice/detail/mininode.hpp +320 -0
  57. data/rice/detail/mininode.hpp.rpp +119 -0
  58. data/rice/detail/protect.cpp +4 -2
  59. data/rice/detail/ruby.hpp +44 -18
  60. data/rice/detail/ruby_version_code.hpp +6 -0
  61. data/rice/detail/ruby_version_code.hpp.in +6 -0
  62. data/rice/detail/rubysig.hpp +6 -0
  63. data/rice/detail/st.hpp +6 -2
  64. data/rice/detail/wrap_function.hpp +50 -48
  65. data/rice/detail/wrap_function.ipp +48 -48
  66. data/rice/generate_code.rb +43 -293
  67. data/rice/global_function.hpp +10 -4
  68. data/rice/global_function.ipp +1 -2
  69. data/rice/ruby_mark.hpp +13 -0
  70. data/rice/ruby_try_catch.hpp +1 -1
  71. data/rice/rubypp.rb +97 -0
  72. data/rice/to_from_ruby.ipp +3 -3
  73. data/ruby.ac +44 -8
  74. data/ruby/Makefile.in +2 -0
  75. data/ruby/lib/Makefile.in +2 -0
  76. data/ruby/lib/mkmf-rice.rb.in +4 -1
  77. data/ruby/lib/version.rb +3 -0
  78. data/sample/Makefile.am +2 -2
  79. data/sample/Makefile.in +4 -2
  80. data/test/Makefile.am +2 -1
  81. data/test/Makefile.in +7 -2
  82. data/test/test_Array.cpp +2 -2
  83. data/test/test_Class.cpp +4 -1
  84. data/test/test_Critical_Guard.cpp +4 -0
  85. data/test/test_Data_Object.cpp +43 -3
  86. data/test/test_Hash.cpp +3 -3
  87. data/test/test_String.cpp +8 -8
  88. data/test/test_VM.cpp +1 -1
  89. data/test/test_global_functions.cpp +45 -0
  90. data/test/test_rice.rb +5 -0
  91. metadata +115 -98
  92. data/rice/detail/Iterator_Definer.hpp +0 -98
@@ -15,10 +15,12 @@ protect(
15
15
  VALUE retval = rb_protect(f, arg, &state);
16
16
  if(state != 0)
17
17
  {
18
- if(state == TAG_RAISE && ruby_errinfo != Qnil)
18
+ VALUE err = rb_errinfo();
19
+ if(state == TAG_RAISE && RTEST(err))
19
20
  {
20
21
  // TODO: convert NoMemoryError into bad_alloc?
21
- throw Rice::Exception(ruby_errinfo);
22
+ rb_set_errinfo(Rice::Nil);
23
+ throw Rice::Exception(err);
22
24
  }
23
25
  throw Jump_Tag(state);
24
26
  }
data/rice/detail/ruby.hpp CHANGED
@@ -14,18 +14,16 @@
14
14
  #define HAVE_ISINF
15
15
  #endif
16
16
 
17
- // TODO: Is there a way to ensure that this is Ruby's version.h?
18
- #define RUBY_EXTERN extern "C"
19
- #include <version.h>
17
+ #include "ruby_version_code.hpp"
20
18
 
21
19
  // workaround for ruby 1.8.4, which defines eaccess and shouldn't
22
- #if RUBY_VERSION_CODE <= 184
20
+ #if RICE__RUBY_VERSION_CODE <= 184
23
21
  #define eaccess ruby_eaccess
24
22
  #endif
25
23
 
26
24
  #include <ruby.h>
27
25
 
28
- #if RUBY_VERSION_CODE <= 184
26
+ #if RICE__RUBY_VERSION_CODE <= 184
29
27
  #undef eaccess
30
28
  #endif
31
29
 
@@ -44,7 +42,7 @@ extern "C" typedef VALUE (*RUBY_VALUE_FUNC)(VALUE);
44
42
  // Fix Ruby RUBY_METHOD_FUNC from macro to typedef
45
43
  #if defined(RUBY_METHOD_FUNC)
46
44
  # undef RUBY_METHOD_FUNC
47
- # if RUBY_VERSION_CODE <= 166
45
+ # if RICE__RUBY_VERSION_CODE <= 166
48
46
  extern "C" typedef VALUE (*RUBY_METHOD_FUNC)();
49
47
  # else
50
48
  extern "C" typedef VALUE (*RUBY_METHOD_FUNC)(ANYARGS);
@@ -55,25 +53,28 @@ extern "C" typedef VALUE (*RUBY_VALUE_FUNC)(VALUE);
55
53
  // C++ function to an extern "C" function won't result in correct
56
54
  // behavior on all platforms. Fortunately this has been fixed in newer
57
55
  // versions of Ruby.
58
- #if RUBY_VERSION_CODE < 170
59
- namespace Exc_Ruby
56
+ #if RICE__RUBY_VERSION_CODE < 170
57
+ namespace Rice
60
58
  {
61
- extern "C" typedef VALUE
62
- (*Rb_Protect_Signature)(RUBY_VALUE_FUNC, VALUE, int *);
63
- extern "C" typedef void
64
- (*Rb_Gc_Mark_Signature)(VALUE);
65
- extern "C" typedef void
66
- (*Rb_Set_End_Proc_Signature)(void (*)(VALUE), VALUE);
67
- }
59
+ namespace detail
60
+ {
61
+ extern "C" typedef VALUE
62
+ (*Rb_Protect_Signature)(RUBY_VALUE_FUNC, VALUE, int *);
63
+ extern "C" typedef void
64
+ (*Rb_Gc_Mark_Signature)(VALUE);
65
+ extern "C" typedef void
66
+ (*Rb_Set_End_Proc_Signature)(void (*)(VALUE), VALUE);
67
+ } // detail
68
+ } // Rice
68
69
  //! Ruby 1.6 has the wrong signature for rb_protect.
69
70
  # define rb_protect(f, arg, state) \
70
- ((::Exc_Ruby::Rb_Protect_Signature)(rb_protect))(f, arg, state)
71
+ ((::Rice::detail::Rb_Protect_Signature)(rb_protect))(f, arg, state)
71
72
  //! Ruby 1.6 has the wrong signature for rb_gc_mark.
72
73
  # define rb_gc_mark(value) \
73
- ((::Exc_Ruby::Rb_Gc_Mark_Signature)(rb_gc_mark))(value)
74
+ ((::Rice::detail::Rb_Gc_Mark_Signature)(rb_gc_mark))(value)
74
75
  //! Ruby 1.6 has the wrong signature for rb_set_end_proc.
75
76
  # define rb_set_end_proc(f,v) \
76
- ((::Exc_Ruby::Rb_Set_End_Proc_Signature)(rb_set_end_proc))(f, v)
77
+ ((::Rice::detail::Rb_Set_End_Proc_Signature)(rb_set_end_proc))(f, v)
77
78
  #endif
78
79
 
79
80
  #ifndef RSTRING_LEN
@@ -84,6 +85,18 @@ extern "C" typedef VALUE (*RUBY_VALUE_FUNC)(VALUE);
84
85
  #define RSTRING_PTR(str) RSTRING(str)->ptr
85
86
  #endif
86
87
 
88
+ #ifndef RARRAY_LEN
89
+ #define RARRAY_LEN(arr) RARRAY(arr)->len
90
+ #endif
91
+
92
+ #ifndef RARRAY_PTR
93
+ #define RARRAY_PTR(arr) RARRAY(arr)->ptr
94
+ #endif
95
+
96
+ #ifndef RHASH_TBL
97
+ #define RHASH_TBL(hsh) RHASH(hsh)->tbl
98
+ #endif
99
+
87
100
  // ruby.h has a few defines that conflict with Visual Studio's STL
88
101
  #if defined(_MSC_VER)
89
102
  #undef write
@@ -91,5 +104,18 @@ extern "C" typedef VALUE (*RUBY_VALUE_FUNC)(VALUE);
91
104
  #undef bind
92
105
  #endif
93
106
 
107
+ #if RICE__RUBY_VERSION_CODE < 190
108
+ namespace Rice
109
+ {
110
+ namespace detail
111
+ {
112
+ inline VALUE rb_errinfo() { return ruby_errinfo; }
113
+ inline void rb_set_errinfo(VALUE exc) { ruby_errinfo = exc; }
114
+ } // detail
115
+ } // Rice
116
+ #define rb_errinfo() ::Rice::detail::rb_errinfo()
117
+ #define rb_set_errinfo(exc) ::Rice::detail::rb_set_errinfo(exc)
118
+ #endif
119
+
94
120
  #endif // Rice__detail__ruby__hpp_
95
121
 
@@ -0,0 +1,6 @@
1
+ #ifndef Rice__detail__ruby_version_code__hpp
2
+ #define Rice__detail__ruby_version_code__hpp
3
+
4
+ #define RICE__RUBY_VERSION_CODE 187
5
+
6
+ #endif // Rice__detail__ruby_version_code__hpp
@@ -0,0 +1,6 @@
1
+ #ifndef Rice__detail__ruby_version_code__hpp
2
+ #define Rice__detail__ruby_version_code__hpp
3
+
4
+ #define RICE__RUBY_VERSION_CODE @RUBY_VERSION_CODE@
5
+
6
+ #endif // Rice__detail__ruby_version_code__hpp
@@ -1,13 +1,19 @@
1
1
  #ifndef Rice__detail__rubysig__hpp_
2
2
  #define Rice__detail__rubysig__hpp_
3
3
 
4
+ #include "ruby_version_code.hpp"
5
+
4
6
  /**
5
7
  * Helper header for the rubysig.h ruby include file, which does
6
8
  * not have extern "C"
7
9
  */
8
10
 
11
+ #if RICE__RUBY_VERSION_CODE < 190
12
+
9
13
  extern "C" {
10
14
  #include "rubysig.h"
11
15
  }
12
16
 
13
17
  #endif
18
+
19
+ #endif
data/rice/detail/st.hpp CHANGED
@@ -12,13 +12,17 @@
12
12
 
13
13
  extern "C"
14
14
  {
15
+ #ifdef RUBY_VM
16
+ #include "ruby/st.h"
17
+ #else
15
18
  #include "st.h"
19
+ #endif
16
20
  }
17
21
 
18
22
  // Older versions of Ruby don't have proper signatures for the st_
19
23
  // functions
20
24
 
21
- #if RUBY_VERSION_CODE < 180
25
+ #if RICE__RUBY_VERSION_CODE < 180
22
26
 
23
27
  typedef char * st_data_t;
24
28
 
@@ -50,7 +54,7 @@ extern "C" typedef st_table* (*St_Init_Table_Signature)(
50
54
 
51
55
  } // namespace Exc_Ruby
52
56
 
53
- #endif // RUBY_VERSION_CODE < 180
57
+ #endif // RICE__RUBY_VERSION_CODE < 180
54
58
 
55
59
  #endif // Exc_Ruby___cpp__st__hpp_
56
60
 
@@ -9,6 +9,8 @@
9
9
 
10
10
  #include "Exception_Handler.hpp"
11
11
  #include "Wrapped_Function.hpp"
12
+ #include "../Object_defn.hpp"
13
+ #include "../Data_Object.hpp"
12
14
 
13
15
  namespace Rice
14
16
  {
@@ -23,257 +25,257 @@ namespace detail
23
25
  template<typename Ret_T, typename Arg0_T>
24
26
  Wrapped_Function * wrap_function(
25
27
  Ret_T (*func)(Arg0_T),
26
- Exception_Handler const * handler = 0);
28
+ Data_Object<Exception_Handler> handler = Rice::Nil);
27
29
 
28
30
  template<typename Ret_T, typename Self_T>
29
31
  Wrapped_Function * wrap_function(
30
32
  Ret_T (Self_T::*func)(),
31
- Exception_Handler const * handler = 0);
33
+ Data_Object<Exception_Handler> handler = Rice::Nil);
32
34
 
33
35
  template<typename Ret_T, typename Self_T>
34
36
  Wrapped_Function * wrap_function(
35
37
  Ret_T (Self_T::*func)() const,
36
- Exception_Handler const * handler = 0);
38
+ Data_Object<Exception_Handler> handler = Rice::Nil);
37
39
 
38
40
  // ---------------------------------------------------------------------
39
41
  template<typename Ret_T, typename Arg0_T, typename Arg1_T>
40
42
  Wrapped_Function * wrap_function(
41
43
  Ret_T (*func)(Arg0_T, Arg1_T),
42
- Exception_Handler const * handler = 0);
44
+ Data_Object<Exception_Handler> handler = Rice::Nil);
43
45
 
44
46
  template<typename Ret_T, typename Self_T, typename Arg1_T>
45
47
  Wrapped_Function * wrap_function(
46
48
  Ret_T (Self_T::*func)(Arg1_T),
47
- Exception_Handler const * handler = 0);
49
+ Data_Object<Exception_Handler> handler = Rice::Nil);
48
50
 
49
51
  template<typename Ret_T, typename Self_T, typename Arg1_T>
50
52
  Wrapped_Function * wrap_function(
51
53
  Ret_T (Self_T::*func)(Arg1_T) const,
52
- Exception_Handler const * handler = 0);
54
+ Data_Object<Exception_Handler> handler = Rice::Nil);
53
55
 
54
56
  // ---------------------------------------------------------------------
55
57
  template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
56
58
  Wrapped_Function * wrap_function(
57
59
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T),
58
- Exception_Handler const * handler = 0);
60
+ Data_Object<Exception_Handler> handler = Rice::Nil);
59
61
 
60
62
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T>
61
63
  Wrapped_Function * wrap_function(
62
64
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T),
63
- Exception_Handler const * handler = 0);
65
+ Data_Object<Exception_Handler> handler = Rice::Nil);
64
66
 
65
67
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T>
66
68
  Wrapped_Function * wrap_function(
67
69
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T) const,
68
- Exception_Handler const * handler = 0);
70
+ Data_Object<Exception_Handler> handler = Rice::Nil);
69
71
 
70
72
  // ---------------------------------------------------------------------
71
73
  template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
72
74
  Wrapped_Function * wrap_function(
73
75
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T),
74
- Exception_Handler const * handler = 0);
76
+ Data_Object<Exception_Handler> handler = Rice::Nil);
75
77
 
76
78
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
77
79
  Wrapped_Function * wrap_function(
78
80
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T),
79
- Exception_Handler const * handler = 0);
81
+ Data_Object<Exception_Handler> handler = Rice::Nil);
80
82
 
81
83
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
82
84
  Wrapped_Function * wrap_function(
83
85
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T) const,
84
- Exception_Handler const * handler = 0);
86
+ Data_Object<Exception_Handler> handler = Rice::Nil);
85
87
 
86
88
  // ---------------------------------------------------------------------
87
89
  template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
88
90
  Wrapped_Function * wrap_function(
89
91
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T),
90
- Exception_Handler const * handler = 0);
92
+ Data_Object<Exception_Handler> handler = Rice::Nil);
91
93
 
92
94
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
93
95
  Wrapped_Function * wrap_function(
94
96
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T),
95
- Exception_Handler const * handler = 0);
97
+ Data_Object<Exception_Handler> handler = Rice::Nil);
96
98
 
97
99
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
98
100
  Wrapped_Function * wrap_function(
99
101
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T) const,
100
- Exception_Handler const * handler = 0);
102
+ Data_Object<Exception_Handler> handler = Rice::Nil);
101
103
 
102
104
  // ---------------------------------------------------------------------
103
105
  template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
104
106
  Wrapped_Function * wrap_function(
105
107
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T),
106
- Exception_Handler const * handler = 0);
108
+ Data_Object<Exception_Handler> handler = Rice::Nil);
107
109
 
108
110
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
109
111
  Wrapped_Function * wrap_function(
110
112
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T),
111
- Exception_Handler const * handler = 0);
113
+ Data_Object<Exception_Handler> handler = Rice::Nil);
112
114
 
113
115
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
114
116
  Wrapped_Function * wrap_function(
115
117
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T) const,
116
- Exception_Handler const * handler = 0);
118
+ Data_Object<Exception_Handler> handler = Rice::Nil);
117
119
 
118
120
  // ---------------------------------------------------------------------
119
121
  template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T>
120
122
  Wrapped_Function * wrap_function(
121
123
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T),
122
- Exception_Handler const * handler = 0);
124
+ Data_Object<Exception_Handler> handler = Rice::Nil);
123
125
 
124
126
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T>
125
127
  Wrapped_Function * wrap_function(
126
128
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T),
127
- Exception_Handler const * handler = 0);
129
+ Data_Object<Exception_Handler> handler = Rice::Nil);
128
130
 
129
131
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T>
130
132
  Wrapped_Function * wrap_function(
131
133
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T) const,
132
- Exception_Handler const * handler = 0);
134
+ Data_Object<Exception_Handler> handler = Rice::Nil);
133
135
 
134
136
  // ---------------------------------------------------------------------
135
137
  template<typename Ret_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>
136
138
  Wrapped_Function * wrap_function(
137
139
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T),
138
- Exception_Handler const * handler = 0);
140
+ Data_Object<Exception_Handler> handler = Rice::Nil);
139
141
 
140
142
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T>
141
143
  Wrapped_Function * wrap_function(
142
144
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T),
143
- Exception_Handler const * handler = 0);
145
+ Data_Object<Exception_Handler> handler = Rice::Nil);
144
146
 
145
147
  template<typename Ret_T, typename Self_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T>
146
148
  Wrapped_Function * wrap_function(
147
149
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T) const,
148
- Exception_Handler const * handler = 0);
150
+ Data_Object<Exception_Handler> handler = Rice::Nil);
149
151
 
150
152
  // ---------------------------------------------------------------------
151
153
  template<typename Ret_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>
152
154
  Wrapped_Function * wrap_function(
153
155
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T),
154
- Exception_Handler const * handler = 0);
156
+ Data_Object<Exception_Handler> handler = Rice::Nil);
155
157
 
156
158
  template<typename Ret_T, typename Self_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>
157
159
  Wrapped_Function * wrap_function(
158
160
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T),
159
- Exception_Handler const * handler = 0);
161
+ Data_Object<Exception_Handler> handler = Rice::Nil);
160
162
 
161
163
  template<typename Ret_T, typename Self_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>
162
164
  Wrapped_Function * wrap_function(
163
165
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T) const,
164
- Exception_Handler const * handler = 0);
166
+ Data_Object<Exception_Handler> handler = Rice::Nil);
165
167
 
166
168
  // ---------------------------------------------------------------------
167
169
  template<typename Ret_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>
168
170
  Wrapped_Function * wrap_function(
169
171
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T),
170
- Exception_Handler const * handler = 0);
172
+ Data_Object<Exception_Handler> handler = Rice::Nil);
171
173
 
172
174
  template<typename Ret_T, typename Self_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>
173
175
  Wrapped_Function * wrap_function(
174
176
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T),
175
- Exception_Handler const * handler = 0);
177
+ Data_Object<Exception_Handler> handler = Rice::Nil);
176
178
 
177
179
  template<typename Ret_T, typename Self_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>
178
180
  Wrapped_Function * wrap_function(
179
181
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T) const,
180
- Exception_Handler const * handler = 0);
182
+ Data_Object<Exception_Handler> handler = Rice::Nil);
181
183
 
182
184
  // ---------------------------------------------------------------------
183
185
  template<typename Ret_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>
184
186
  Wrapped_Function * wrap_function(
185
187
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T),
186
- Exception_Handler const * handler = 0);
188
+ Data_Object<Exception_Handler> handler = Rice::Nil);
187
189
 
188
190
  template<typename Ret_T, typename Self_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>
189
191
  Wrapped_Function * wrap_function(
190
192
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T),
191
- Exception_Handler const * handler = 0);
193
+ Data_Object<Exception_Handler> handler = Rice::Nil);
192
194
 
193
195
  template<typename Ret_T, typename Self_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>
194
196
  Wrapped_Function * wrap_function(
195
197
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T) const,
196
- Exception_Handler const * handler = 0);
198
+ Data_Object<Exception_Handler> handler = Rice::Nil);
197
199
 
198
200
  // ---------------------------------------------------------------------
199
201
  template<typename Ret_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>
200
202
  Wrapped_Function * wrap_function(
201
203
  Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T),
202
- Exception_Handler const * handler = 0);
204
+ Data_Object<Exception_Handler> handler = Rice::Nil);
203
205
 
204
206
  template<typename Ret_T, typename Self_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>
205
207
  Wrapped_Function * wrap_function(
206
208
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T),
207
- Exception_Handler const * handler = 0);
209
+ Data_Object<Exception_Handler> handler = Rice::Nil);
208
210
 
209
211
  template<typename Ret_T, typename Self_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>
210
212
  Wrapped_Function * wrap_function(
211
213
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T) const,
212
- Exception_Handler const * handler = 0);
214
+ Data_Object<Exception_Handler> handler = Rice::Nil);
213
215
 
214
216
  // ---------------------------------------------------------------------
215
217
  template<typename Ret_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>
216
218
  Wrapped_Function * wrap_function(
217
219
  Ret_T (*func)(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),
218
- Exception_Handler const * handler = 0);
220
+ Data_Object<Exception_Handler> handler = Rice::Nil);
219
221
 
220
222
  template<typename Ret_T, typename Self_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>
221
223
  Wrapped_Function * wrap_function(
222
224
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T),
223
- Exception_Handler const * handler = 0);
225
+ Data_Object<Exception_Handler> handler = Rice::Nil);
224
226
 
225
227
  template<typename Ret_T, typename Self_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>
226
228
  Wrapped_Function * wrap_function(
227
229
  Ret_T (Self_T::*func)(Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T) const,
228
- Exception_Handler const * handler = 0);
230
+ Data_Object<Exception_Handler> handler = Rice::Nil);
229
231
 
230
232
  // ---------------------------------------------------------------------
231
233
  template<typename Ret_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>
232
234
  Wrapped_Function * wrap_function(
233
235
  Ret_T (*func)(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),
234
- Exception_Handler const * handler = 0);
236
+ Data_Object<Exception_Handler> handler = Rice::Nil);
235
237
 
236
238
  template<typename Ret_T, typename Self_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>
237
239
  Wrapped_Function * wrap_function(
238
240
  Ret_T (Self_T::*func)(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),
239
- Exception_Handler const * handler = 0);
241
+ Data_Object<Exception_Handler> handler = Rice::Nil);
240
242
 
241
243
  template<typename Ret_T, typename Self_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>
242
244
  Wrapped_Function * wrap_function(
243
245
  Ret_T (Self_T::*func)(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) const,
244
- Exception_Handler const * handler = 0);
246
+ Data_Object<Exception_Handler> handler = Rice::Nil);
245
247
 
246
248
  // ---------------------------------------------------------------------
247
249
  template<typename Ret_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>
248
250
  Wrapped_Function * wrap_function(
249
251
  Ret_T (*func)(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),
250
- Exception_Handler const * handler = 0);
252
+ Data_Object<Exception_Handler> handler = Rice::Nil);
251
253
 
252
254
  template<typename Ret_T, typename Self_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>
253
255
  Wrapped_Function * wrap_function(
254
256
  Ret_T (Self_T::*func)(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),
255
- Exception_Handler const * handler = 0);
257
+ Data_Object<Exception_Handler> handler = Rice::Nil);
256
258
 
257
259
  template<typename Ret_T, typename Self_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>
258
260
  Wrapped_Function * wrap_function(
259
261
  Ret_T (Self_T::*func)(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) const,
260
- Exception_Handler const * handler = 0);
262
+ Data_Object<Exception_Handler> handler = Rice::Nil);
261
263
 
262
264
  // ---------------------------------------------------------------------
263
265
  template<typename Ret_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, typename Arg15_T>
264
266
  Wrapped_Function * wrap_function(
265
267
  Ret_T (*func)(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, Arg15_T),
266
- Exception_Handler const * handler = 0);
268
+ Data_Object<Exception_Handler> handler = Rice::Nil);
267
269
 
268
270
  template<typename Ret_T, typename Self_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, typename Arg15_T>
269
271
  Wrapped_Function * wrap_function(
270
272
  Ret_T (Self_T::*func)(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, Arg15_T),
271
- Exception_Handler const * handler = 0);
273
+ Data_Object<Exception_Handler> handler = Rice::Nil);
272
274
 
273
275
  template<typename Ret_T, typename Self_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, typename Arg15_T>
274
276
  Wrapped_Function * wrap_function(
275
277
  Ret_T (Self_T::*func)(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, Arg15_T) const,
276
- Exception_Handler const * handler = 0);
278
+ Data_Object<Exception_Handler> handler = Rice::Nil);
277
279
 
278
280
  // ---------------------------------------------------------------------
279
281
  #endif // DOXYGEN