flext  0.6.0
Macros
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. More...
 
#define FLEXT_CADDMETHOD_(CL, IX, M_TAG, M_FUN)
 Add a a handler for a method with implicit arguments. More...
 
#define FLEXT_CADDMETHOD_E(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 1 enum type argument. More...
 
#define FLEXT_CADDMETHOD_1(CL, IX, M_TAG, M_FUN, TP1)
 Add a handler for a method with 1 argument. More...
 
#define FLEXT_CADDMETHOD_2(CL, IX, M_TAG, M_FUN, TP1, TP2)
 Add a handler for a method with 2 arguments. More...
 
#define FLEXT_CADDMETHOD_3(CL, IX, M_TAG, M_FUN, TP1, TP2, TP3)
 Add a handler for a method with 3 arguments. More...
 
#define FLEXT_CADDMETHOD_4(CL, IX, M_TAG, M_FUN, TP1, TP2, TP3, TP4)
 Add a handler for a method with 4 arguments. More...
 
#define FLEXT_CADDMETHOD_5(CL, IX, M_TAG, M_FUN, TP1, TP2, TP3, TP4, TP5)
 Add a handler for a method with 5 arguments. More...
 
#define FLEXT_CADDMETHOD_B(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with a boolean argument. More...
 
#define FLEXT_CADDMETHOD_F(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 1 float argument. More...
 
#define FLEXT_CADDMETHOD_FF(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 2 float arguments. More...
 
#define FLEXT_CADDMETHOD_FFF(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 3 float arguments. More...
 
#define FLEXT_CADDMETHOD_I(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 1 integer argument. More...
 
#define FLEXT_CADDMETHOD_II(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 2 integer arguments. More...
 
#define FLEXT_CADDMETHOD_III(CL, IX, M_TAG, M_FUN)
 Add a handler for a method with 3 integer arguments. More...
 

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:

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:

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)

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.

FLEXT_CALL_PRE
#define FLEXT_CALL_PRE(F)
Definition: flbase.h:336
FLEXTARG
#define FLEXTARG(TP)
Definition: flbase.h:620
flext_base::AddMethod
void AddMethod(int inlet, bool(*m)(flext_base *))
Definition: flclass.h:419