Go to the documentation of this file. 14 #ifndef __FLEXT_DEFS_METHADD_H 15 #define __FLEXT_DEFS_METHADD_H 27 #define FLEXT_CADDBANG(CL,IX,M_FUN) \ 29 flext_base::AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN)) 32 #define FLEXT_CADDMETHOD(CL,IX,M_FUN) \ 34 flext_base::AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN)) 37 #define FLEXT_CADDMETHOD_(CL,IX,M_TAG,M_FUN) \ 39 flext_base::AddMethod(CL,IX,flext::MakeSymbol(M_TAG),FLEXT_CALL_PRE(M_FUN)) 42 #define FLEXT_CADDMETHOD_E(CL,IX,M_TAG,M_FUN) \ 44 flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),a_int,a_null) 47 #define FLEXT_CADDMETHOD_1(CL,IX,M_TAG,M_FUN,TP1) \ 49 flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),a_null) 52 #define FLEXT_CADDMETHOD_2(CL,IX,M_TAG,M_FUN,TP1,TP2) \ 54 flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),a_null) 57 #define FLEXT_CADDMETHOD_3(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3) \ 59 flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),a_null) 62 #define FLEXT_CADDMETHOD_4(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4) \ 64 flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),a_null) 67 #define FLEXT_CADDMETHOD_5(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4,TP5) \ 69 flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),FLEXTARG(TP5),a_null) 75 #define FLEXT_CADDMETHOD_B(CL,IX,M_TAG,M_FUN) \ 77 FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,bool) 80 #define FLEXT_CADDMETHOD_F(CL,IX,M_TAG,M_FUN) \ 82 FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float) 85 #define FLEXT_CADDMETHOD_FF(CL,IX,M_TAG,M_FUN) \ 87 FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float) 90 #define FLEXT_CADDMETHOD_FFF(CL,IX,M_TAG,M_FUN) \ 92 FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float,float) 95 #define FLEXT_CADDMETHOD_I(CL,IX,M_TAG,M_FUN) \ 97 FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int) 100 #define FLEXT_CADDMETHOD_II(CL,IX,M_TAG,M_FUN) \ 102 FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int) 105 #define FLEXT_CADDMETHOD_III(CL,IX,M_TAG,M_FUN) \ 107 FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int,int) 119 #define FLEXT_ADDTIMER(TMR,M_FUN) \ 122 TMR.SetCallback(*this,FLEXT_CALL_PRE(M_FUN)) 125 #define FLEXT_ADDDIST() \ 127 flext_base::SetDist(true) 130 #define FLEXT_ADDBANG(IX,M_FUN) \ 132 flext_base::AddMethod(IX,"bang",FLEXT_CALL_PRE(M_FUN)) 135 #define FLEXT_ADDMETHOD(IX,M_FUN) \ 137 flext_base::AddMethod(IX,FLEXT_CALL_PRE(M_FUN)) 143 #define FLEXT_ADDMETHOD_V(IX,M_FUN) \ 145 flext_base::AddMethod(IX,FLEXT_CALL_PRE(M_FUN)) 151 #define FLEXT_ADDMETHOD_A(IX,M_FUN) \ 153 flext_base::AddMethod(IX,FLEXT_CALL_PRE(M_FUN)) 156 #define FLEXT_ADDMETHOD_(IX,M_TAG,M_FUN) \ 158 flext_base::AddMethod(IX,flext::MakeSymbol(M_TAG),FLEXT_CALL_PRE(M_FUN)) 161 #define FLEXT_ADDMETHOD_E(IX,M_TAG,M_FUN) \ 163 flext_base::AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),a_int,a_null) 166 #define FLEXT_ADDMETHOD_1(IX,M_TAG,M_FUN,TP1) \ 168 flext_base::AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),a_null) 171 #define FLEXT_ADDMETHOD_2(IX,M_TAG,M_FUN,TP1,TP2) \ 173 flext_base::AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),a_null) 176 #define FLEXT_ADDMETHOD_3(IX,M_TAG,M_FUN,TP1,TP2,TP3) \ 178 flext_base::AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),a_null) 181 #define FLEXT_ADDMETHOD_4(IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4) \ 183 flext_base::AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),a_null) 186 #define FLEXT_ADDMETHOD_5(IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4,TP5) \ 188 flext_base::AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),FLEXTARG(TP5),a_null) 194 #define FLEXT_ADDMETHOD_B(IX,M_TAG,M_FUN) \ 196 FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,bool) 199 #define FLEXT_ADDMETHOD_F(IX,M_TAG,M_FUN) \ 201 FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,float) 204 #define FLEXT_ADDMETHOD_FF(IX,M_TAG,M_FUN) \ 206 FLEXT_ADDMETHOD_2(IX,flext::MakeSymbol(M_TAG),M_FUN,float,float) 209 #define FLEXT_ADDMETHOD_FFF(IX,M_TAG,M_FUN) \ 211 FLEXT_ADDMETHOD_3(IX,flext::MakeSymbol(M_TAG),M_FUN,float,float,float) 214 #define FLEXT_ADDMETHOD_I(IX,M_TAG,M_FUN) \ 216 FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,int) 219 #define FLEXT_ADDMETHOD_II(IX,M_TAG,M_FUN) \ 221 FLEXT_ADDMETHOD_2(IX,flext::MakeSymbol(M_TAG),M_FUN,int,int) 224 #define FLEXT_ADDMETHOD_III(IX,M_TAG,M_FUN) \ 226 FLEXT_ADDMETHOD_3(IX,flext::MakeSymbol(M_TAG),M_FUN,int,int,int)