COVISE Core
|
#include "message_types.h"
#include <cassert>
#include <cstring>
#include <memory>
#include <string>
#include <util/tryPrint.h>
Go to the source code of this file.
Namespaces | |
namespace | covise |
list of all chemical elements | |
namespace | covise::detail |
Macros | |
#define | EXPAND(x) x |
#define | STOP_RECURSION() |
#define | CAT(A, B) A##B |
#define | SELECT(NAME, NUM) CAT(NAME##_, NUM) |
#define | GET_COUNT(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, COUNT, ...) COUNT |
#define | VA_SIZE(...) EXPAND(GET_COUNT(__VA_ARGS__, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 09, 08, 07, 06, 05, 04, 03, 02, 01)) |
#define | VA_SELECT(NAME, ...) |
#define | MY_OVERLOADED(...) EXPAND(VA_SELECT(MY_OVERLOADED, __VA_ARGS__)) |
#define | MY_OVERLOADED_01(ClassName, MacroName, MacroNameLast, _1) STOP_RECURSION() |
#define | MY_OVERLOADED_03(ClassName, MacroName, MacroNameLast, _1, _2, _3) STOP_RECURSION() |
#define | MY_OVERLOADED_05(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5) STOP_RECURSION() |
#define | MY_OVERLOADED_07(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7) STOP_RECURSION() |
#define | MY_OVERLOADED_09(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9) STOP_RECURSION() |
#define | MY_OVERLOADED_11(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11) STOP_RECURSION() |
#define | MY_OVERLOADED_13(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) STOP_RECURSION() |
#define | MY_OVERLOADED_15(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15) STOP_RECURSION() |
#define | MY_OVERLOADED_17(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17) STOP_RECURSION() |
#define | MY_OVERLOADED_19(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19) STOP_RECURSION() |
#define | MY_OVERLOADED_21(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21) STOP_RECURSION() |
#define | MY_OVERLOADED_23(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23) STOP_RECURSION() |
#define | MY_OVERLOADED_25(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25) STOP_RECURSION() |
#define | MY_OVERLOADED_27(ClassName, MacroName, MacroNameLast, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27) STOP_RECURSION() |
#define | MY_OVERLOADED_02(MacroName, MacroNameLast, T00, N00) MacroNameLast(T00, N00) |
#define | MY_OVERLOADED_04(MacroName, MacroNameLast, T00, N00, T01, N01) MacroName(T00, N00) MY_OVERLOADED_02(MacroName, MacroNameLast, T01, N01) |
#define | MY_OVERLOADED_06(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02) MacroName(T00, N00) MY_OVERLOADED_04(MacroName, MacroNameLast, T01, N01, T02, N02) |
#define | MY_OVERLOADED_08(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03) MacroName(T00, N00) MY_OVERLOADED_06(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03) |
#define | MY_OVERLOADED_10(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03, N04, T04) MacroName(T00, N00) MY_OVERLOADED_08(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04) |
#define | MY_OVERLOADED_12(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05) MacroName(T00, N00) MY_OVERLOADED_10(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05) |
#define | MY_OVERLOADED_14(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06) MacroName(T00, N00) MY_OVERLOADED_12(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06) |
#define | MY_OVERLOADED_16(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07) MacroName(T00, N00) MY_OVERLOADED_14(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07) |
#define | MY_OVERLOADED_18(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08) MacroName(T00, N00) MY_OVERLOADED_16(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08) |
#define | MY_OVERLOADED_20(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09) MacroName(T00, N00) MY_OVERLOADED_18(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09) |
#define | MY_OVERLOADED_22(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09, T10, N10) MacroName(T00, N00) MY_OVERLOADED_20(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09, T10, N10) |
#define | MY_OVERLOADED_24(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09, T10, N10, T11, N11) MacroName(T00, N00) MY_OVERLOADED_22(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09, T10, N10, T11, N11) |
#define | MY_OVERLOADED_26(MacroName, MacroNameLast, T00, N00, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09, T10, N10, T11, N11, T12, N12) MacroName(T00, N00) MY_OVERLOADED_24(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09, T10, N10, T11, N11, T12, N12) |
#define | ACCESSOR(type, name) typename covise::detail::ValueOrRef<type>::RetVal name() const { return CAT(m_, name); }\ |
#define | DECLARATION(type, name) type CAT(m_, name); |
#define | CONSTRUCTOR_ELEMENT_LAST(type, name) typename covise::detail::ValueOrRef<type>::RetVal name |
#define | CONSTRUCTOR_ELEMENT(type, name) CONSTRUCTOR_ELEMENT_LAST(type, name), |
#define | CONSTRUCTOR_INITIALIZER_ELEM_LAST(type, name) CAT(m_, name)(name) |
#define | CONSTRUCTOR_INITIALIZER_ELEM(type, name) CONSTRUCTOR_INITIALIZER_ELEM_LAST(type, name), |
#define | CONSTRUCTOR_INITIALIZER_TB_LAST(type, name) CAT(m_, name)(covise::detail::get<type>(tb)) |
#define | CONSTRUCTOR_INITIALIZER_TB(type, name) CONSTRUCTOR_INITIALIZER_TB_LAST(type, name), |
#define | FILL_TOKENBUFFER(type, name) << msg.name() |
#define | TAKE_FROM_TOKENBUFFER(type, name) >> msg.CAT(m_, name) |
#define | PRINT_CLASS(type, name) |
#define | CHECK_EQUALITY(type, name) covise::detail::equals(c1.name(), c2.name()) && |
#define | DECL_TB_SERIALIZABLE_STRUCT(ClassName, export, ...) |
#define | IMPL_TB_SERIALIZABLE_STRUCT(ClassName, ...) |
#define | DECL_MESSAGE_CLASS(ClassName, export, ...) |
#define | IMPL_MESSAGE_CLASS(ClassName, ...) |
#define | DECL_SUB_MESSAGE_CLASS_DETAIL(ClassName, FullClassName, EnumClass, EnumType, export, ...) |
#define | DECL_SUB_MESSAGE_CLASS(ClassName, EnumClass, EnumType, export, ...) DECL_SUB_MESSAGE_CLASS_DETAIL(ClassName, ClassName##_##EnumType, EnumClass, EnumType, export, __VA_ARGS__) |
#define | IMPL_SUB_MESSAGE_CLASS_DETAIL(ClassName, FullClassName, EnumClass, EnumType, ...) |
#define | IMPL_SUB_MESSAGE_CLASS(ClassName, EnumClass, EnumType, ...) IMPL_SUB_MESSAGE_CLASS_DETAIL(ClassName, ClassName##_##EnumType, EnumClass, EnumType, __VA_ARGS__) |
#define | DECL_MESSAGE_WITH_SUB_CLASSES(ClassName, EnumClass, export) |
#define | IMPL_MESSAGE_WITH_SUB_CLASSES(ClassName, EnumClass) |
Enumerations | |
enum class | covise::detail::MessageSyle { covise::detail::Primary , covise::detail::SubMessage } |
Functions | |
template<typename T > | |
bool | covise::detail::equals (const T &t1, const T &t2) |
template<> | |
bool | covise::detail::equals< char const * > (const char *const &t1, const char *const &t2) |
Dummy | covise::detail::typeCheck (int msgType, int classType) |
#define ACCESSOR | ( | type, | |
name | |||
) | typename covise::detail::ValueOrRef<type>::RetVal name() const { return CAT(m_, name); }\ |
#define CAT | ( | A, | |
B | |||
) | A##B |
#define CHECK_EQUALITY | ( | type, | |
name | |||
) | covise::detail::equals(c1.name(), c2.name()) && |
#define CONSTRUCTOR_ELEMENT | ( | type, | |
name | |||
) | CONSTRUCTOR_ELEMENT_LAST(type, name), |
#define CONSTRUCTOR_ELEMENT_LAST | ( | type, | |
name | |||
) | typename covise::detail::ValueOrRef<type>::RetVal name |
#define CONSTRUCTOR_INITIALIZER_ELEM | ( | type, | |
name | |||
) | CONSTRUCTOR_INITIALIZER_ELEM_LAST(type, name), |
#define CONSTRUCTOR_INITIALIZER_TB | ( | type, | |
name | |||
) | CONSTRUCTOR_INITIALIZER_TB_LAST(type, name), |
#define DECL_MESSAGE_CLASS | ( | ClassName, | |
export, | |||
... | |||
) |
#define DECL_MESSAGE_WITH_SUB_CLASSES | ( | ClassName, | |
EnumClass, | |||
export | |||
) |
#define DECL_SUB_MESSAGE_CLASS | ( | ClassName, | |
EnumClass, | |||
EnumType, | |||
export, | |||
... | |||
) | DECL_SUB_MESSAGE_CLASS_DETAIL(ClassName, ClassName##_##EnumType, EnumClass, EnumType, export, __VA_ARGS__) |
#define DECL_SUB_MESSAGE_CLASS_DETAIL | ( | ClassName, | |
FullClassName, | |||
EnumClass, | |||
EnumType, | |||
export, | |||
... | |||
) |
#define DECL_TB_SERIALIZABLE_STRUCT | ( | ClassName, | |
export, | |||
... | |||
) |
#define GET_COUNT | ( | _1, | |
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11, | |||
_12, | |||
_13, | |||
_14, | |||
_15, | |||
_16, | |||
_17, | |||
_18, | |||
_19, | |||
_20, | |||
_21, | |||
_22, | |||
_23, | |||
_24, | |||
_25, | |||
_26, | |||
_27, | |||
_28, | |||
COUNT, | |||
... | |||
) | COUNT |
#define IMPL_MESSAGE_CLASS | ( | ClassName, | |
... | |||
) |
#define IMPL_MESSAGE_WITH_SUB_CLASSES | ( | ClassName, | |
EnumClass | |||
) |
#define IMPL_SUB_MESSAGE_CLASS | ( | ClassName, | |
EnumClass, | |||
EnumType, | |||
... | |||
) | IMPL_SUB_MESSAGE_CLASS_DETAIL(ClassName, ClassName##_##EnumType, EnumClass, EnumType, __VA_ARGS__) |
#define IMPL_SUB_MESSAGE_CLASS_DETAIL | ( | ClassName, | |
FullClassName, | |||
EnumClass, | |||
EnumType, | |||
... | |||
) |
#define IMPL_TB_SERIALIZABLE_STRUCT | ( | ClassName, | |
... | |||
) |
#define MY_OVERLOADED_01 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_02 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00 | |||
) | MacroNameLast(T00, N00) |
#define MY_OVERLOADED_03 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_04 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01 | |||
) | MacroName(T00, N00) MY_OVERLOADED_02(MacroName, MacroNameLast, T01, N01) |
#define MY_OVERLOADED_05 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_06 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02 | |||
) | MacroName(T00, N00) MY_OVERLOADED_04(MacroName, MacroNameLast, T01, N01, T02, N02) |
#define MY_OVERLOADED_07 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_08 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03 | |||
) | MacroName(T00, N00) MY_OVERLOADED_06(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03) |
#define MY_OVERLOADED_09 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_10 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03, | |||
N04, | |||
T04 | |||
) | MacroName(T00, N00) MY_OVERLOADED_08(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04) |
#define MY_OVERLOADED_11 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_12 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03, | |||
N04, | |||
T04, | |||
T05, | |||
N05 | |||
) | MacroName(T00, N00) MY_OVERLOADED_10(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05) |
#define MY_OVERLOADED_13 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11, | |||
_12, | |||
_13 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_14 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03, | |||
N04, | |||
T04, | |||
T05, | |||
N05, | |||
T06, | |||
N06 | |||
) | MacroName(T00, N00) MY_OVERLOADED_12(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06) |
#define MY_OVERLOADED_15 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11, | |||
_12, | |||
_13, | |||
_14, | |||
_15 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_16 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03, | |||
N04, | |||
T04, | |||
T05, | |||
N05, | |||
T06, | |||
N06, | |||
T07, | |||
N07 | |||
) | MacroName(T00, N00) MY_OVERLOADED_14(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07) |
#define MY_OVERLOADED_17 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11, | |||
_12, | |||
_13, | |||
_14, | |||
_15, | |||
_16, | |||
_17 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_18 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03, | |||
N04, | |||
T04, | |||
T05, | |||
N05, | |||
T06, | |||
N06, | |||
T07, | |||
N07, | |||
T08, | |||
N08 | |||
) | MacroName(T00, N00) MY_OVERLOADED_16(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08) |
#define MY_OVERLOADED_19 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11, | |||
_12, | |||
_13, | |||
_14, | |||
_15, | |||
_16, | |||
_17, | |||
_18, | |||
_19 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_20 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03, | |||
N04, | |||
T04, | |||
T05, | |||
N05, | |||
T06, | |||
N06, | |||
T07, | |||
N07, | |||
T08, | |||
N08, | |||
T09, | |||
N09 | |||
) | MacroName(T00, N00) MY_OVERLOADED_18(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09) |
#define MY_OVERLOADED_21 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11, | |||
_12, | |||
_13, | |||
_14, | |||
_15, | |||
_16, | |||
_17, | |||
_18, | |||
_19, | |||
_20, | |||
_21 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_22 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03, | |||
N04, | |||
T04, | |||
T05, | |||
N05, | |||
T06, | |||
N06, | |||
T07, | |||
N07, | |||
T08, | |||
N08, | |||
T09, | |||
N09, | |||
T10, | |||
N10 | |||
) | MacroName(T00, N00) MY_OVERLOADED_20(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09, T10, N10) |
#define MY_OVERLOADED_23 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11, | |||
_12, | |||
_13, | |||
_14, | |||
_15, | |||
_16, | |||
_17, | |||
_18, | |||
_19, | |||
_20, | |||
_21, | |||
_22, | |||
_23 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_24 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03, | |||
N04, | |||
T04, | |||
T05, | |||
N05, | |||
T06, | |||
N06, | |||
T07, | |||
N07, | |||
T08, | |||
N08, | |||
T09, | |||
N09, | |||
T10, | |||
N10, | |||
T11, | |||
N11 | |||
) | MacroName(T00, N00) MY_OVERLOADED_22(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09, T10, N10, T11, N11) |
#define MY_OVERLOADED_25 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11, | |||
_12, | |||
_13, | |||
_14, | |||
_15, | |||
_16, | |||
_17, | |||
_18, | |||
_19, | |||
_20, | |||
_21, | |||
_22, | |||
_23, | |||
_24, | |||
_25 | |||
) | STOP_RECURSION() |
#define MY_OVERLOADED_26 | ( | MacroName, | |
MacroNameLast, | |||
T00, | |||
N00, | |||
T01, | |||
N01, | |||
T02, | |||
N02, | |||
T03, | |||
N03, | |||
N04, | |||
T04, | |||
T05, | |||
N05, | |||
T06, | |||
N06, | |||
T07, | |||
N07, | |||
T08, | |||
N08, | |||
T09, | |||
N09, | |||
T10, | |||
N10, | |||
T11, | |||
N11, | |||
T12, | |||
N12 | |||
) | MacroName(T00, N00) MY_OVERLOADED_24(MacroName, MacroNameLast, T01, N01, T02, N02, T03, N03, N04, T04, T05, N05, T06, N06, T07, N07, T08, N08, T09, N09, T10, N10, T11, N11, T12, N12) |
#define MY_OVERLOADED_27 | ( | ClassName, | |
MacroName, | |||
MacroNameLast, | |||
_1, | |||
_2, | |||
_3, | |||
_4, | |||
_5, | |||
_6, | |||
_7, | |||
_8, | |||
_9, | |||
_10, | |||
_11, | |||
_12, | |||
_13, | |||
_14, | |||
_15, | |||
_16, | |||
_17, | |||
_18, | |||
_19, | |||
_20, | |||
_21, | |||
_22, | |||
_23, | |||
_24, | |||
_25, | |||
_26, | |||
_27 | |||
) | STOP_RECURSION() |
#define SELECT | ( | NAME, | |
NUM | |||
) | CAT(NAME##_, NUM) |
#define STOP_RECURSION | ( | ) |
#define VA_SELECT | ( | NAME, | |
... | |||
) |