Macros.h File Reference

Detailed Description

Macros

#define WALBERLA_RESTRICT
 
#define WALBERLA_FORCE_INLINE(func)   inline func
 
#define WALBERLA_GLUE(x, y)   x y
 
#define WALBERLA_RETURN_ARG_COUNT(_1_, _2_, _3_, _4_, _5_, _6_, _7_, _8_, _9_, _10_, _11_, _12_, _13_, _14_, _15_, _16_, _17_, _18_, _19_, _20_, count, ...)   count
 
#define WALBERLA_EXPAND_ARGS(args)   WALBERLA_RETURN_ARG_COUNT args
 
#define WALBERLA_COUNT_ARGS_MAX20(...)   WALBERLA_EXPAND_ARGS((__VA_ARGS__, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0))
 
#define WALBERLA_OVERLOAD_MACRO2(name, count)   name##count
 
#define WALBERLA_OVERLOAD_MACRO1(name, count)   WALBERLA_OVERLOAD_MACRO2(name, count)
 
#define WALBERLA_OVERLOAD_MACRO(name, count)   WALBERLA_OVERLOAD_MACRO1(name, count)
 
#define WALBERLA_MACRO_OVERLOAD(name, ...)   WALBERLA_GLUE(WALBERLA_OVERLOAD_MACRO(name, WALBERLA_COUNT_ARGS_MAX20(__VA_ARGS__)), (__VA_ARGS__))
 

Macro Definition Documentation

◆ WALBERLA_COUNT_ARGS_MAX20

#define WALBERLA_COUNT_ARGS_MAX20 (   ...)    WALBERLA_EXPAND_ARGS((__VA_ARGS__, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0))

◆ WALBERLA_EXPAND_ARGS

#define WALBERLA_EXPAND_ARGS (   args)    WALBERLA_RETURN_ARG_COUNT args

◆ WALBERLA_FORCE_INLINE

#define WALBERLA_FORCE_INLINE (   func)    inline func

◆ WALBERLA_GLUE

#define WALBERLA_GLUE (   x,
 
)    x y

◆ WALBERLA_MACRO_OVERLOAD

#define WALBERLA_MACRO_OVERLOAD (   name,
  ... 
)    WALBERLA_GLUE(WALBERLA_OVERLOAD_MACRO(name, WALBERLA_COUNT_ARGS_MAX20(__VA_ARGS__)), (__VA_ARGS__))

◆ WALBERLA_OVERLOAD_MACRO

#define WALBERLA_OVERLOAD_MACRO (   name,
  count 
)    WALBERLA_OVERLOAD_MACRO1(name, count)

◆ WALBERLA_OVERLOAD_MACRO1

#define WALBERLA_OVERLOAD_MACRO1 (   name,
  count 
)    WALBERLA_OVERLOAD_MACRO2(name, count)

◆ WALBERLA_OVERLOAD_MACRO2

#define WALBERLA_OVERLOAD_MACRO2 (   name,
  count 
)    name##count

◆ WALBERLA_RESTRICT

#define WALBERLA_RESTRICT

◆ WALBERLA_RETURN_ARG_COUNT

#define WALBERLA_RETURN_ARG_COUNT (   _1_,
  _2_,
  _3_,
  _4_,
  _5_,
  _6_,
  _7_,
  _8_,
  _9_,
  _10_,
  _11_,
  _12_,
  _13_,
  _14_,
  _15_,
  _16_,
  _17_,
  _18_,
  _19_,
  _20_,
  count,
  ... 
)    count