generate the parse function in the header from macros

This commit is contained in:
jacekpoz 2024-04-19 09:39:57 +02:00
parent f4490f2c6c
commit 8c401c785b
Signed by: poz
SSH key fingerprint: SHA256:JyLeVWE4bF3tDnFeUpUaJsPsNlJyBldDGV/dIKSLyN8

View file

@ -6,4 +6,74 @@ namespace fs = std::filesystem;
#include <config.hpp>
Difficulty parseDifficulty(fs::path difficultyPath);
#define CONFIG(name, ...) name parse##name(fs::path configPath);
#define SECTION(name, ...)
#define VAR_UINT(section, name)
#define VAR_UINT_D(section, name, default)
#define VAR_INT(section, name)
#define VAR_INT_D(section, name, default)
#define VAR_STRING(section, name)
#define VAR_STRING_D(section, name, default)
#define VAR_BOOL(section, name)
#define VAR_BOOL_D(section, name, default)
#define VAR_FLOAT(section, name)
#define VAR_FLOAT_D(section, name, default)
#define VAR_COLOUR(section, name)
#define VAR_COLOUR_D(section, name, default)
#define ENUM(name, ...)
#define VAR_ENUM(section, name, enum_type)
#define VAR_ENUM_D(section, name, enum_type, default)
#define STRUCT_STREAM_OPS(name, ...)
#define STRUCT(name, ...)
#define VAR_STRUCT(section, name, struct_type)
#define VAR_STRUCT_D(section, name, struct_type, default)
#define VAR_LIST(section, name, type)
#define VAR_LIST_SEP(section, name, type, sep)
#define VAR_LIST_NUMBERED(section, name, type)
#include <config_def.hpp>
#undef CONFIG
#undef SECTION
#undef VAR_UINT
#undef VAR_UINT_D
#undef VAR_INT
#undef VAR_INT_D
#undef VAR_STRING
#undef VAR_STRING_D
#undef VAR_BOOL
#undef VAR_BOOL_D
#undef VAR_FLOAT
#undef VAR_FLOAT_D
#undef VAR_COLOUR
#undef VAR_COLOUR_D
#undef ENUM
#undef VAR_ENUM
#undef VAR_ENUM_D
#undef STRUCT_STREAM_OPS
#undef STRUCT
#undef VAR_STRUCT
#undef VAR_STRUCT_D
#undef VAR_LIST
#undef VAR_LIST_SEP
#undef VAR_LIST_NUMBERED