VSF Documented
Macros
vsf_eval_macro.h File Reference

Go to the source code of this file.

Macros

#define __VSF_VA_NUM_ARGS_IMPL(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, __N, ...)   __N
 
#define VSF_VA_NUM_ARGS(...)   __VSF_VA_NUM_ARGS_IMPL(0,##__VA_ARGS__,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)
 
#define __VSF_EVAL_MACRO_NAME01(__FUNC, __ARGC)   __FUNC##__ARGC
 
#define __VSF_EVAL_MACRO_NAME02(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME01(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME03(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME02(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME04(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME03(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME05(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME04(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME06(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME05(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME07(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME06(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME08(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME07(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME09(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME08(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME10(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME09(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME11(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME10(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME12(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME11(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME13(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME12(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME14(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME13(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME15(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME14(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME16(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME15(__FUNC, __ARGC)
 
#define __VSF_EVAL_MACRO_NAME(__FUNC, __ARGC)   __VSF_EVAL_MACRO_NAME16(__FUNC, __ARGC)
 
#define VSF_EVAL_MACRO(__FUNC, ...)   __VSF_EVAL_MACRO_NAME(__FUNC, VSF_VA_NUM_ARGS(__VA_ARGS__))
 

Macro Definition Documentation

◆ __VSF_VA_NUM_ARGS_IMPL

#define __VSF_VA_NUM_ARGS_IMPL (   _0,
  _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7,
  _8,
  _9,
  _10,
  _11,
  _12,
  _13,
  _14,
  _15,
  _16,
  __N,
  ... 
)    __N

◆ VSF_VA_NUM_ARGS

#define VSF_VA_NUM_ARGS (   ...)    __VSF_VA_NUM_ARGS_IMPL(0,##__VA_ARGS__,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0)

◆ __VSF_EVAL_MACRO_NAME01

#define __VSF_EVAL_MACRO_NAME01 (   __FUNC,
  __ARGC 
)    __FUNC##__ARGC

◆ __VSF_EVAL_MACRO_NAME02

#define __VSF_EVAL_MACRO_NAME02 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME01(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME03

#define __VSF_EVAL_MACRO_NAME03 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME02(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME04

#define __VSF_EVAL_MACRO_NAME04 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME03(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME05

#define __VSF_EVAL_MACRO_NAME05 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME04(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME06

#define __VSF_EVAL_MACRO_NAME06 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME05(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME07

#define __VSF_EVAL_MACRO_NAME07 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME06(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME08

#define __VSF_EVAL_MACRO_NAME08 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME07(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME09

#define __VSF_EVAL_MACRO_NAME09 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME08(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME10

#define __VSF_EVAL_MACRO_NAME10 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME09(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME11

#define __VSF_EVAL_MACRO_NAME11 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME10(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME12

#define __VSF_EVAL_MACRO_NAME12 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME11(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME13

#define __VSF_EVAL_MACRO_NAME13 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME12(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME14

#define __VSF_EVAL_MACRO_NAME14 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME13(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME15

#define __VSF_EVAL_MACRO_NAME15 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME14(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME16

#define __VSF_EVAL_MACRO_NAME16 (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME15(__FUNC, __ARGC)

◆ __VSF_EVAL_MACRO_NAME

#define __VSF_EVAL_MACRO_NAME (   __FUNC,
  __ARGC 
)    __VSF_EVAL_MACRO_NAME16(__FUNC, __ARGC)

◆ VSF_EVAL_MACRO

#define VSF_EVAL_MACRO (   __FUNC,
  ... 
)    __VSF_EVAL_MACRO_NAME(__FUNC, VSF_VA_NUM_ARGS(__VA_ARGS__))