6void check_allowed(param_t param, key_vec_t &missing_keys, key_vec_t &invalid_keys,
 
    7                   std::vector<param_t> allowed, option_t option) {
 
    9    if (!std::any_of(allowed.begin(), allowed.end(), [&](
const auto i){return i==param;})) {
 
   11        std::vector<std::string> invalid_temp;
 
   14            invalid_temp.push_back(x);
 
   18        invalid_keys.push_back(invalid_temp);
 
 
   23void check_range(param_t param, key_vec_t &missing_keys, key_vec_t &invalid_keys,
 
   24                 std::vector<param_t> min_val,  std::vector<param_t> max_val,
 
   30    if (!min_val.empty()) {
 
   31        if (param < min_val.at(0)) {
 
   37    if (!max_val.empty()) {
 
   38        if (param > max_val.at(0)) {
 
   46        std::vector<std::string> invalid_temp;
 
   49            invalid_temp.push_back(x);
 
   53        invalid_keys.push_back(invalid_temp);
 
 
   59               key_vec_t &invalid_keys, option_t option, std::vector<param_t> allowed={},
 
   60               std::vector<param_t> min_val={}, std::vector<param_t> max_val={}) {
 
   62    std::shared_ptr<spdlog::logger> logger = spdlog::get(
"citlali_logger");
 
   66        if (config.template has_typed<param_t>(option_t(option))) {
 
   68            param = config.template get_typed<param_t>(option_t(option));
 
   71            if (!allowed.empty()) {
 
   72                check_allowed(param, missing_keys, invalid_keys, allowed, option);
 
   76            if (!min_val.empty() || !max_val.empty()) {
 
   77                check_range(param, missing_keys, invalid_keys, min_val, max_val, option);
 
   80            logger->debug(
"got {} from config",option);
 
   85            std::vector<std::string> missing_temp;
 
   88                missing_temp.push_back(x);
 
   91            missing_keys.push_back(missing_temp);
 
   94    catch (YAML::TypedBadConversion<param_t>) {
 
   96        std::vector<std::string> invalid_temp;
 
   99            invalid_temp.push_back(x);
 
  103        invalid_keys.push_back(invalid_temp);
 
  105    catch (YAML::InvalidNode) {
 
  107        std::vector<std::string> invalid_temp;
 
  110            invalid_temp.push_back(x);
 
  114        invalid_keys.push_back(invalid_temp);
 
 
void get_config_value(config_t config, param_t ¶m, key_vec_t &missing_keys, key_vec_t &invalid_keys, option_t option, std::vector< param_t > allowed={}, std::vector< param_t > min_val={}, std::vector< param_t > max_val={})
Definition config.h:58
 
void check_range(param_t param, key_vec_t &missing_keys, key_vec_t &invalid_keys, std::vector< param_t > min_val, std::vector< param_t > max_val, option_t option)
Definition config.h:23
 
void check_allowed(param_t param, key_vec_t &missing_keys, key_vec_t &invalid_keys, std::vector< param_t > allowed, option_t option)
Definition config.h:6