method_pointer() : class_ptr(0), func_ptr(0){}
method_pointer(method_pointer_type p) : class_ptr(0), func_ptr(p){}
+ method_pointer(_Class &class_ref, method_pointer_type p_func) : class_ptr(&class_ref), func_ptr(p_func){}
method_pointer(_Class *p_class, method_pointer_type p_func) : class_ptr(p_class), func_ptr(p_func){}
_Ret call(){
{
return call();
}
+
+ _Ret call(_Class *p_class){
+ class_ptr = p_class;
+ return call();
+ }
+ _Ret operator()(_Class *p_class)
+ {
+ class_ptr = p_class;
+ return call();
+ }
+
+ _Ret call(_Class &class_ref){
+ class_ptr = &class_ref;
+ return call();
+ }
+ _Ret operator()(_Class &class_ref)
+ {
+ class_ptr = &class_ref;
+ return call();
+ }
};
/////////////////////////////////////////////////////////////