00001 #ifndef Exc_Ruby__creation_funcs__hpp_ 00002 #define Exc_Ruby__creation_funcs__hpp_ 00003 00004 #include "rb_cpp_define_method.hpp" 00005 #include "value_holder.hpp" 00006 00007 namespace Exc_Ruby 00008 { 00009 00014 void rb_cpp_define_alloc_func( 00015 Value_Holder klass, 00016 RUBY_VALUE_FUNC allocate_func); 00017 00020 template<typename Initialize_Func_T> 00021 void rb_cpp_define_creation_funcs( 00022 Value_Holder klass, 00023 RUBY_VALUE_FUNC allocate_func, 00024 Initialize_Func_T initialize_func); 00025 00028 void rb_cpp_undef_alloc_func( 00029 Value_Holder klass); 00030 00033 void rb_cpp_undef_creation_funcs( 00034 Value_Holder klass); 00035 00039 template<typename T> 00040 VALUE default_allocation_func(VALUE klass); 00041 00042 } // namespace Exc_Ruby 00043 00044 #include "creation_funcs.ipp" 00045 00046 #endif // Exc_Ruby__creation_funcs__hpp_ 00047