|
29 | 29 | #include <type_traits> |
30 | 30 |
|
31 | 31 | // helper |
32 | | -#define _EXT_LOG_SELECT5TH_PARAMETER(_1, _2, _3, _4, NAME, ...) NAME |
| 32 | +#define eXT_LOG_SELECT5TH_PARAMETER(_1, _2, _3, _4, NAME, ...) NAME |
33 | 33 |
|
34 | 34 | // __VA_ARGS__ do not expand correctly when using VisualStudio compiler :( |
35 | 35 | // https://stackoverflow.com/questions/5134523/msvc-doesnt-expand-va-args-correctly |
36 | | -#define _EXT_LOG_EXPAND(x) x |
| 36 | +#define eXT_LOG_EXPAND(x) x |
37 | 37 |
|
38 | 38 | // variable logging - if() ... |
39 | | -#define _EXT_LOG_INTERNAL(id_, topic_, macro_level_, cond_) \ |
| 39 | +#define eXT_LOG_INTERNAL(id_, topic_, macro_level_, cond_) \ |
40 | 40 | if (ext::logging::_detail::variable_level_is_active((macro_level_), (topic_)) && cond_) \ |
41 | 41 | ext::logging::_detail::logger(id_, (topic_), (macro_level_), __FILE__, __LINE__, __FUNCTION__) |
42 | 42 |
|
43 | | -#define _EXT_LOG_INTERNAL_ADD_PREFIX(id_, topic_, macro_level_, cond_) \ |
44 | | - _EXT_LOG_INTERNAL(id_, (ext::logging::topic::topic_), (ext::logging::level::macro_level_), cond_) |
| 43 | +#define eXT_LOG_INTERNAL_ADD_PREFIX(id_, topic_, macro_level_, cond_) \ |
| 44 | + eXT_LOG_INTERNAL(id_, (ext::logging::topic::topic_), (ext::logging::level::macro_level_), cond_) |
45 | 45 |
|
46 | | -#define EXT_LOGVARIABLE4(id, topic_, macro_level_, cond_) _EXT_LOG_INTERNAL_ADD_PREFIX(id, topic_, macro_level_, cond_) |
47 | | -#define EXT_LOGVARIABLE3(id, topic_, macro_level_) _EXT_LOG_INTERNAL_ADD_PREFIX(id, topic_, macro_level_, true) |
48 | | -#define EXT_LOGVARIABLE2(id, macro_level_) _EXT_LOG_INTERNAL_ADD_PREFIX(id, no_topic, macro_level_, true) |
49 | | -#define EXT_LOGVARIABLE1(id) _EXT_LOG_INTERNAL_ADD_PREFIX(id, no_topic, EXT_LOGGING_DEFAULT_LEVEL, true) |
| 46 | +#define EXT_LOGVARIABLE4(id, topic_, macro_level_, cond_) eXT_LOG_INTERNAL_ADD_PREFIX(id, topic_, macro_level_, cond_) |
| 47 | +#define EXT_LOGVARIABLE3(id, topic_, macro_level_) eXT_LOG_INTERNAL_ADD_PREFIX(id, topic_, macro_level_, true) |
| 48 | +#define EXT_LOGVARIABLE2(id, macro_level_) eXT_LOG_INTERNAL_ADD_PREFIX(id, no_topic, macro_level_, true) |
| 49 | +#define EXT_LOGVARIABLE1(id) eXT_LOG_INTERNAL_ADD_PREFIX(id, no_topic, EXT_LOGGING_DEFAULT_LEVEL, true) |
50 | 50 |
|
51 | 51 | // 1st __VA_ARGS__ shifts the args into the correct position |
52 | 52 | // macro can not be empty because of the leading `,` (fixed with __VA_OPT__ in c++20) |
53 | 53 | #ifdef EXT_COMPILER_VC |
54 | 54 | #define EXT_LOGVARIABLE(...) \ |
55 | | - _EXT_LOG_SELECT5TH_PARAMETER( \ |
56 | | - _EXT_LOG_EXPAND(__VA_ARGS__), EXT_LOGVARIABLE4, EXT_LOGVARIABLE3, EXT_LOGVARIABLE2, EXT_LOGVARIABLE1, ) \ |
57 | | - (_EXT_LOG_EXPAND(__VA_ARGS__)) |
| 55 | + eXT_LOG_SELECT5TH_PARAMETER( \ |
| 56 | + eXT_LOG_EXPAND(__VA_ARGS__), EXT_LOGVARIABLE4, EXT_LOGVARIABLE3, EXT_LOGVARIABLE2, EXT_LOGVARIABLE1, ) \ |
| 57 | + (eXT_LOG_EXPAND(__VA_ARGS__)) |
58 | 58 | #else |
59 | 59 | #define EXT_LOGVARIABLE(...) \ |
60 | | - _EXT_LOG_SELECT5TH_PARAMETER( \ |
| 60 | + eXT_LOG_SELECT5TH_PARAMETER( \ |
61 | 61 | __VA_ARGS__, EXT_LOGVARIABLE4, EXT_LOGVARIABLE3, EXT_LOGVARIABLE2, EXT_LOGVARIABLE1, ) \ |
62 | 62 | (__VA_ARGS__) |
63 | 63 | #endif // EXT_COMPILER_VC |
64 | 64 |
|
65 | | -#define EXT_DEV_VARIABLE _EXT_LOG_INTERNAL_ADD_PREFIX("$$$$", dev, EXT_LOGGING_DEFAULT_LEVEL, true) |
66 | | -#define EXT_DEV_IF(cond_) _EXT_LOG_INTERNAL_ADD_PREFIX("$$$$", dev, EXT_LOGGING_DEFAULT_LEVEL, cond_) |
| 65 | +#define EXT_DEV_VARIABLE eXT_LOG_INTERNAL_ADD_PREFIX("$$$$", dev, EXT_LOGGING_DEFAULT_LEVEL, true) |
| 66 | +#define EXT_DEV_IF(cond_) eXT_LOG_INTERNAL_ADD_PREFIX("$$$$", dev, EXT_LOGGING_DEFAULT_LEVEL, cond_) |
67 | 67 | #define EXT_LOG EXT_LOGVARIABLE |
68 | 68 |
|
69 | 69 |
|
70 | 70 | // variable logging - if constexpr() ... |
71 | | -#define _EXT_LOG_INTERNAL_CONST(id_, topic_, macro_level_, cond_) \ |
| 71 | +#define eXT_LOG_INTERNAL_CONST(id_, topic_, macro_level_, cond_) \ |
72 | 72 | if constexpr (ext::logging::_detail::constexpr_level_is_active(macro_level_) && cond_) \ |
73 | 73 | ext::logging::_detail::logger(id_, (topic_), (macro_level_), __FILE__, __LINE__, __FUNCTION__) |
74 | 74 |
|
75 | | -#define _EXT_LOG_INTERNAL_ADD_PREFIX_CONST(id_, topic_, macro_level_, cond_) \ |
76 | | - _EXT_LOG_INTERNAL_CONST(id_, (ext::logging::topic::topic_), (ext::logging::level::macro_level_), cond_) |
| 75 | +#define eXT_LOG_INTERNAL_ADD_PREFIX_CONST(id_, topic_, macro_level_, cond_) \ |
| 76 | + eXT_LOG_INTERNAL_CONST(id_, (ext::logging::topic::topic_), (ext::logging::level::macro_level_), cond_) |
77 | 77 |
|
78 | | -#define EXT_LOGCONST4(id, topic_, macro_level_, cond_) _EXT_LOG_INTERNAL_ADD_PREFIX_CONST(id, topic_, macro_level_, cond_) |
79 | | -#define EXT_LOGCONST3(id, topic_, macro_level_) _EXT_LOG_INTERNAL_ADD_PREFIX_CONST(id, topic_, macro_level_, true) |
80 | | -#define EXT_LOGCONST2(id, macro_level_) _EXT_LOG_INTERNAL_ADD_PREFIX_CONST(id, no_topic, macro_level_, true) |
81 | | -#define EXT_LOGCONST1(id) _EXT_LOG_INTERNAL_ADD_PREFIX_CONST(id, no_topic, EXT_LOGGING_DEFAULT_LEVEL, true) |
| 78 | +#define EXT_LOGCONST4(id, topic_, macro_level_, cond_) eXT_LOG_INTERNAL_ADD_PREFIX_CONST(id, topic_, macro_level_, cond_) |
| 79 | +#define EXT_LOGCONST3(id, topic_, macro_level_) eXT_LOG_INTERNAL_ADD_PREFIX_CONST(id, topic_, macro_level_, true) |
| 80 | +#define EXT_LOGCONST2(id, macro_level_) eXT_LOG_INTERNAL_ADD_PREFIX_CONST(id, no_topic, macro_level_, true) |
| 81 | +#define EXT_LOGCONST1(id) eXT_LOG_INTERNAL_ADD_PREFIX_CONST(id, no_topic, EXT_LOGGING_DEFAULT_LEVEL, true) |
82 | 82 |
|
83 | 83 | #ifdef EXT_COMPILER_VC |
84 | 84 | #define EXT_LOGCONST(...) \ |
85 | | - _EXT_LOG_SELECT5TH_PARAMETER( \ |
86 | | - _EXT_LOG_EXPAND(__VA_ARGS__), EXT_LOGCONST4, EXT_LOGCONST3, EXT_LOGCONST2, EXT_LOGCONST1, ) \ |
87 | | - (_EXT_LOG_EXPAND(__VA_ARGS__)) |
| 85 | + eXT_LOG_SELECT5TH_PARAMETER( \ |
| 86 | + eXT_LOG_EXPAND(__VA_ARGS__), EXT_LOGCONST4, EXT_LOGCONST3, EXT_LOGCONST2, EXT_LOGCONST1, ) \ |
| 87 | + (eXT_LOG_EXPAND(__VA_ARGS__)) |
88 | 88 | #else |
89 | 89 | #define EXT_LOGCONST(...) \ |
90 | | - _EXT_LOG_SELECT5TH_PARAMETER(__VA_ARGS__, EXT_LOGCONST4, EXT_LOGCONST3, EXT_LOGCONST2, EXT_LOGCONST1, ) \ |
| 90 | + eXT_LOG_SELECT5TH_PARAMETER(__VA_ARGS__, EXT_LOGCONST4, EXT_LOGCONST3, EXT_LOGCONST2, EXT_LOGCONST1, ) \ |
91 | 91 | (__VA_ARGS__) |
92 | 92 | #endif // EXT_COMPILER_VC |
93 | 93 |
|
94 | | -#define EXT_DEV _EXT_LOG_INTERNAL_ADD_PREFIX_CONST("@@@@", dev, EXT_LOGGING_DEFAULT_LEVEL, true) |
95 | | -#define EXT_DEV_IF_CONST(cond_) _EXT_LOG_INTERNAL_ADD_PREFIX_CONST("@@@@", dev, EXT_LOGGING_DEFAULT_LEVEL, cond_) |
| 94 | +#define EXT_DEV eXT_LOG_INTERNAL_ADD_PREFIX_CONST("@@@@", dev, EXT_LOGGING_DEFAULT_LEVEL, true) |
| 95 | +#define EXT_DEV_IF_CONST(cond_) eXT_LOG_INTERNAL_ADD_PREFIX_CONST("@@@@", dev, EXT_LOGGING_DEFAULT_LEVEL, cond_) |
96 | 96 | #define EXT_LOG_CONST EXT_LOGCONST |
97 | 97 |
|
98 | 98 |
|
|
0 commit comments