|
|
@@ -13,6 +13,11 @@
|
|
|
assert(config.contains(item_name)); \
|
|
|
assert(config[item_name].is_string());
|
|
|
|
|
|
+#define LOAD_BOOL_ITEM(item_name) ({ \
|
|
|
+ assert(config.contains(item_name)); \
|
|
|
+ assert(config[item_name].is_boolean()); \
|
|
|
+ config[item_name].get<double>(); })
|
|
|
+
|
|
|
#define LOAD_FLOAT_ITEM(item_name) ({ \
|
|
|
assert(config.contains(item_name)); \
|
|
|
assert(config[item_name].is_number()); \
|
|
|
@@ -39,6 +44,15 @@
|
|
|
auto _name = LOAD_STRING_ITEM2(config, var_name); \
|
|
|
REQUIRE_VARIABLE(var_type, _name); })
|
|
|
|
|
|
+#define TRY_LOAD_BOOL_ITEM(var_name, default_val) ({ \
|
|
|
+ bool _val = default_val; \
|
|
|
+ if (config.contains(var_name)) { \
|
|
|
+ assert(config[var_name].is_boolean()); \
|
|
|
+ _val = config[var_name].get<bool>(); \
|
|
|
+ } \
|
|
|
+ _val; \
|
|
|
+ })
|
|
|
+
|
|
|
#define TRY_LOAD_VARIABLE_INDEX(var_type, var_name) ({ \
|
|
|
variable_index_type _index = -1; \
|
|
|
if (config.contains(var_name)) { \
|