flext 0.6.2
Add flext methods within class scope

Macros

#define FLEXT_CADDBANG(CL, IX, M_FUN)
#define FLEXT_CADDMETHOD(CL, IX, M_FUN)
 Add a handler for a method with either no, list or anything arguments.
#define FLEXT_CADDMETHOD_(CL, IX, M_TAG, M_FUN)
 Add a a handler for a method with implicit arguments.
#define FLEXT_CADDMETHOD_E(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 1 enum type argument.
#define FLEXT_CADDMETHOD_1(CL, IX, M_TAG, M_FUN, TP1)
 Add a handler for a method with 1 argument.
#define FLEXT_CADDMETHOD_2(CL, IX, M_TAG, M_FUN, TP1, TP2)
 Add a handler for a method with 2 arguments.
#define FLEXT_CADDMETHOD_3(CL, IX, M_TAG, M_FUN, TP1, TP2, TP3)
 Add a handler for a method with 3 arguments.
#define FLEXT_CADDMETHOD_4(CL, IX, M_TAG, M_FUN, TP1, TP2, TP3, TP4)
 Add a handler for a method with 4 arguments.
#define FLEXT_CADDMETHOD_5(CL, IX, M_TAG, M_FUN, TP1, TP2, TP3, TP4, TP5)
 Add a handler for a method with 5 arguments.
#define FLEXT_CADDMETHOD_B(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with a boolean argument.
#define FLEXT_CADDMETHOD_F(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 1 float argument.
#define FLEXT_CADDMETHOD_FF(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 2 float arguments.
#define FLEXT_CADDMETHOD_FFF(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 3 float arguments.
#define FLEXT_CADDMETHOD_I(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 1 integer argument.
#define FLEXT_CADDMETHOD_II(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 2 integer arguments.
#define FLEXT_CADDMETHOD_III(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 3 integer arguments.

Detailed Description

Note
These can only be used at class construction time

Macro Definition Documentation

◆ FLEXT_CADDBANG

#define FLEXT_CADDBANG ( CL,
IX,
M_FUN )
Value:
\
flext_base::AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN))
#define FLEXT_CALL_PRE(F)
Definition flbase.h:336

Add a method handler for bang

Note
This is for compatibility - better use the method below

◆ FLEXT_CADDMETHOD

#define FLEXT_CADDMETHOD ( CL,
IX,
M_FUN )
Value:
\
flext_base::AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN))

Add a handler for a method with either no, list or anything arguments.

◆ FLEXT_CADDMETHOD_

#define FLEXT_CADDMETHOD_ ( CL,
IX,
M_TAG,
M_FUN )
Value:
\
flext_base::AddMethod(CL,IX,flext::MakeSymbol(M_TAG),FLEXT_CALL_PRE(M_FUN))

Add a a handler for a method with implicit arguments.

◆ FLEXT_CADDMETHOD_1

#define FLEXT_CADDMETHOD_1 ( CL,
IX,
M_TAG,
M_FUN,
TP1 )
Value:
\
flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),a_null)
#define FLEXTARG(TP)
Definition flbase.h:620

Add a handler for a method with 1 argument.

◆ FLEXT_CADDMETHOD_2

#define FLEXT_CADDMETHOD_2 ( CL,
IX,
M_TAG,
M_FUN,
TP1,
TP2 )
Value:
\
flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),a_null)

Add a handler for a method with 2 arguments.

◆ FLEXT_CADDMETHOD_3

#define FLEXT_CADDMETHOD_3 ( CL,
IX,
M_TAG,
M_FUN,
TP1,
TP2,
TP3 )
Value:
\
flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),a_null)

Add a handler for a method with 3 arguments.

◆ FLEXT_CADDMETHOD_4

#define FLEXT_CADDMETHOD_4 ( CL,
IX,
M_TAG,
M_FUN,
TP1,
TP2,
TP3,
TP4 )
Value:
\
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)

Add a handler for a method with 4 arguments.

◆ FLEXT_CADDMETHOD_5

#define FLEXT_CADDMETHOD_5 ( CL,
IX,
M_TAG,
M_FUN,
TP1,
TP2,
TP3,
TP4,
TP5 )
Value:
\
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)

Add a handler for a method with 5 arguments.

◆ FLEXT_CADDMETHOD_B

#define FLEXT_CADDMETHOD_B ( CL,
IX,
M_TAG,
M_FUN )
Value:
\
FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,bool)

Add a handler for a method with a boolean argument.

◆ FLEXT_CADDMETHOD_E

#define FLEXT_CADDMETHOD_E ( CL,
IX,
M_TAG,
M_FUN )
Value:
\
flext_base::AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),a_int,a_null)

Add a handler for a method with 1 enum type argument.

◆ FLEXT_CADDMETHOD_F

#define FLEXT_CADDMETHOD_F ( CL,
IX,
M_TAG,
M_FUN )
Value:
\
FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float)

Add a handler for a method with 1 float argument.

◆ FLEXT_CADDMETHOD_FF

#define FLEXT_CADDMETHOD_FF ( CL,
IX,
M_TAG,
M_FUN )
Value:
\
FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float)

Add a handler for a method with 2 float arguments.

◆ FLEXT_CADDMETHOD_FFF

#define FLEXT_CADDMETHOD_FFF ( CL,
IX,
M_TAG,
M_FUN )
Value:
\
FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float,float)

Add a handler for a method with 3 float arguments.

◆ FLEXT_CADDMETHOD_I

#define FLEXT_CADDMETHOD_I ( CL,
IX,
M_TAG,
M_FUN )
Value:
\
FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int)

Add a handler for a method with 1 integer argument.

◆ FLEXT_CADDMETHOD_II

#define FLEXT_CADDMETHOD_II ( CL,
IX,
M_TAG,
M_FUN )
Value:
\
FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int)

Add a handler for a method with 2 integer arguments.

◆ FLEXT_CADDMETHOD_III

#define FLEXT_CADDMETHOD_III ( CL,
IX,
M_TAG,
M_FUN )
Value:
\
FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int,int)

Add a handler for a method with 3 integer arguments.