Reference# Macros for writing macros Create a string literal LITERAL_STRINGIZE STRINGIZE Combine tokens LITERAL_CONCAT CONCAT Count arguments ARG_COUNT Fold FOLD TREE_FOLD FOLD_RIGHT Iteration EACH FOR Manipulate pairs PAIR_FIRST PAIR_LAST PAIR_FLATTEN PAIR_ASSIGN Misc. IDENTITY ADD_COMMA ADD_COMMA_FLAT Terminal colors NORMAL BOLD DIM ITALIC UNDERLINED NEGATIVE BLACK RED GREEN YELLOW BLUE PURPLE CYAN LIGHT_GREY DEFAULT WHITE BG_BLACK BG_RED BG_GREEN BG_YELLOW BG_BLUE BG_PURPLE BG_CYAN BG_LIGHT_GREY BG_DEFAULT BG_WHITE COLOR COLOR_JOIN Logging Library LOG_FILE LOG_LEVEL LOG_FORMAT LOG_LEVEL_NONE LOG_LEVEL_FATAL LOG_LEVEL_ERROR LOG_LEVEL_WARNING LOG_LEVEL_INFO LOG_LEVEL_DEBUG LOG_LEVEL_TRACE LOG_FORMAT_NONE LOG_FORMAT_CONSOLE LOG_FORMAT_COLOR LOG_FORMAT_MARKDOWN log_header log_fatal log_error log_warning log_info log_debug log_trace log_force Enum utilities DECLARE_ENUM_WITH_VALUES DECLARE_ENUM_WITH_STRINGS White magic ARRAY_LENGTH max min