#ifndef Rice__detail__Auto_Function_Wrapper__ipp_ #define Rice__detail__Auto_Function_Wrapper__ipp_ // This is a generated file. DO NOT EDIT!! // This causes problems with certain C++ libraries #undef TYPE #include "method_data.hpp" #include "../ruby_try_catch.hpp" #include "../to_from_ruby.hpp" namespace Rice { namespace detail { template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13, VALUE ruby_arg14, VALUE ruby_arg15) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); Arg12_T arg12(from_ruby(ruby_arg12)); Arg13_T arg13(from_ruby(ruby_arg13)); Arg14_T arg14(from_ruby(ruby_arg14)); Arg15_T arg15(from_ruby(ruby_arg15)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13, VALUE ruby_arg14, VALUE ruby_arg15) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); Arg12_T arg12(from_ruby(ruby_arg12)); Arg13_T arg13(from_ruby(ruby_arg13)); Arg14_T arg14(from_ruby(ruby_arg14)); Arg15_T arg15(from_ruby(ruby_arg15)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13, VALUE ruby_arg14) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); Arg12_T arg12(from_ruby(ruby_arg12)); Arg13_T arg13(from_ruby(ruby_arg13)); Arg14_T arg14(from_ruby(ruby_arg14)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13, VALUE ruby_arg14) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); Arg12_T arg12(from_ruby(ruby_arg12)); Arg13_T arg13(from_ruby(ruby_arg13)); Arg14_T arg14(from_ruby(ruby_arg14)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); Arg12_T arg12(from_ruby(ruby_arg12)); Arg13_T arg13(from_ruby(ruby_arg13)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); Arg12_T arg12(from_ruby(ruby_arg12)); Arg13_T arg13(from_ruby(ruby_arg13)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); Arg12_T arg12(from_ruby(ruby_arg12)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); Arg12_T arg12(from_ruby(ruby_arg12)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); Arg11_T arg11(from_ruby(ruby_arg11)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); Arg10_T arg10(from_ruby(ruby_arg10)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); Arg9_T arg9(from_ruby(ruby_arg9)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); Arg8_T arg8(from_ruby(ruby_arg8)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); Arg7_T arg7(from_ruby(ruby_arg7)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); Arg6_T arg6(from_ruby(ruby_arg6)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5, arg6); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); Arg5_T arg5(from_ruby(ruby_arg5)); wrapper->func_(arg0, arg1, arg2, arg3, arg4, arg5); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3, arg4)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); Arg4_T arg4(from_ruby(ruby_arg4)); wrapper->func_(arg0, arg1, arg2, arg3, arg4); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); return to_ruby(wrapper->func_(arg0, arg1, arg2, arg3)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); Arg3_T arg3(from_ruby(ruby_arg3)); wrapper->func_(arg0, arg1, arg2, arg3); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); return to_ruby(wrapper->func_(arg0, arg1, arg2)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); Arg2_T arg2(from_ruby(ruby_arg2)); wrapper->func_(arg0, arg1, arg2); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); return to_ruby(wrapper->func_(arg0, arg1)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0, VALUE ruby_arg1) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); Arg1_T arg1(from_ruby(ruby_arg1)); wrapper->func_(arg0, arg1); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); return to_ruby(wrapper->func_(arg0)); } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } template Auto_Function_Wrapper:: Auto_Function_Wrapper( Func func, Data_Object handler) : Wrapped_Function(RUBY_METHOD_FUNC(call), Num_Args) , func_(func) , handler_(handler) , handler_guard_(&handler_) { } template VALUE Auto_Function_Wrapper:: call(VALUE ruby_arg0) { Auto_Function_Wrapper * wrapper = 0; try { Data_Object data(detail::method_data()); wrapper = (Auto_Function_Wrapper *)data.get(); Arg0_T arg0(from_ruby(ruby_arg0)); wrapper->func_(arg0); return Qnil; } catch(...) { RUBY_TRY { if(wrapper) { return wrapper->handler_->handle_exception(); } else { throw; } } RUBY_CATCH } } // --------------------------------------------------------------------- } // namespace detail } // namespace Rice #endif // Rice__detail__Auto_Function_Wrapper__ipp_