From 4bcc7e931e173aec3cd91cfc3a5dfb721bc33b58 Mon Sep 17 00:00:00 2001 From: myun2 Date: Thu, 12 Jul 2012 19:20:07 +0900 Subject: [PATCH] =?utf8?q?function=5Fpointer=5Fbase.hpp:=20=E5=BC=95?= =?utf8?q?=E6=95=B0=E5=A2=97=E3=81=88=E3=81=9F=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- roast/include/roast/tp/function_pointer_base.hpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/roast/include/roast/tp/function_pointer_base.hpp b/roast/include/roast/tp/function_pointer_base.hpp index 16952ff7..fee0afeb 100644 --- a/roast/include/roast/tp/function_pointer_base.hpp +++ b/roast/include/roast/tp/function_pointer_base.hpp @@ -18,6 +18,8 @@ namespace roast class function_pointer_base { public: + virtual _Ret call(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16) = 0; + _Ret operator()(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9, T10 t10, T11 t11, T12 t12, T13 t13, T14 t14, T15 t15, T16 t16){ return call(t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16); } }; ///////////////////////////////////////////////////////////// @@ -50,6 +52,26 @@ namespace roast _Ret operator()(T1 t1, T2 t2){ return call(t1,t2); } }; + //// + + template + class method_pointer<_Ret,_Class,T1,T2,T3> + { + public: + virtual _Ret call(T1 t1, T2 t2, T3 t3) = 0; + _Ret operator()(T1 t1, T2 t2, T3 t3){ return call(t1,t2,t3); } + }; + + //// + + template + class method_pointer<_Ret,_Class,T1,T2,T3,T4> + { + public: + virtual _Ret call(T1 t1, T2 t2, T3 t3, T4 t4) = 0; + _Ret operator()(T1 t1, T2 t2, T3 t3, T4 t4){ return call(t1,t2,t3,t4); } + }; + ///////////////////////////////////////////////////////////// } -- 2.11.0