43    [](
const std::string& field, 
const std::string_view& value, 
const std::string& default_val)
 
   45    std::cerr << 
"!! Warning: Invalid value '" << value << 
"' detected for field '" << field
 
   46              << 
"'. Using default value '" << default_val << 
"'." << std::endl;
 
   60  auto handle_bool_prop = [&](
const std::string_view& value, 
const std::string& field,
 
   61                              bool default_val) -> 
bool 
   65      reportWarning(field, value, default_val ? 
"true" : 
"false");
 
   69    std::string value_lower;
 
   70    value_lower.reserve(value.size());
 
   73      value_lower += std::tolower(c);
 
   76    if (value_lower == 
"true" || value_lower == 
"1" || value_lower == 
"yes")
 
   80    if (value_lower == 
"false" || value_lower == 
"0" || value_lower == 
"no")
 
   85    reportWarning(field, value, default_val ? 
"true" : 
"false");
 
   89  const std::unordered_map<std::string, std::pair<bool&, bool>> field_map = {
 
   93  for (
const auto& [field, field_info] : field_map)
 
   95    const auto& [field_ref, default_val] = field_info;
 
   97    field_ref                            = handle_bool_prop(value, field, default_val);
 
 
auto parseProps() -> GlobalProps
Parses the global properties from the TOML configuration.
Definition properties.hpp:28
 
auto parseTOMLField(string parent, string field) -> string_view
Parses a string field from the TOML configuration.
Definition toml_parser.hpp:144