Macros for looping through sequence to parameters. More...

Macros

#define PARAM_FOREACH(_op, _seq)    BOOST_PP_SEQ_FOR_EACH(PARAM_FOREACH_,_op,_seq)
 Apply macro _op to each parameter in sequence _seq. More...
 
#define PARAM_FOREACH_I(_op, _seq)    BOOST_PP_SEQ_FOR_EACH_I(PARAM_FOREACH_I_,_op,_seq)
 Apply macro _op to each parameter in sequence _seq with additional index. More...
 
#define PARAM_TYPED(_op, _param)    BOOST_PP_CAT(_op,PARAM_FTYPE(_param))
 Type depended macro construction. More...
 
#define PARAM_TYPED_FOREACH(_op, _seq)    BOOST_PP_SEQ_FOR_EACH(PARAM_TYPED_FOREACH_,_op,_seq)
 Apply type dependent macro call to a sequence of parameters. More...
 

Detailed Description

Macros for looping through sequence to parameters.

Macro Definition Documentation

◆ PARAM_FOREACH

#define PARAM_FOREACH (   _op,
  _seq 
)     BOOST_PP_SEQ_FOR_EACH(PARAM_FOREACH_,_op,_seq)

Apply macro _op to each parameter in sequence _seq.

Operation macro _op should be defined as,

_op(_param)

◆ PARAM_FOREACH_I

#define PARAM_FOREACH_I (   _op,
  _seq 
)     BOOST_PP_SEQ_FOR_EACH_I(PARAM_FOREACH_I_,_op,_seq)

Apply macro _op to each parameter in sequence _seq with additional index.

Operation macro _op should be defined as,

_op(_i,_param)

◆ PARAM_TYPED

#define PARAM_TYPED (   _op,
  _param 
)     BOOST_PP_CAT(_op,PARAM_FTYPE(_param))

Type depended macro construction.

Convert macro _op to _op##<type>. Note that it only converts the macro name, not contsucts a macro call. To expand to a macro call, simply

PARAM_TYPED(_op,_param)(_param)

◆ PARAM_TYPED_FOREACH

#define PARAM_TYPED_FOREACH (   _op,
  _seq 
)     BOOST_PP_SEQ_FOR_EACH(PARAM_TYPED_FOREACH_,_op,_seq)

Apply type dependent macro call to a sequence of parameters.

_op will be converted to _op##<type> for each parameter