waLBerla 7.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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,
y )   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