rice 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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