37 if (tf.is_in_timeframe(tp))
108 validate_name(sched.
name());
113 if (name.size() < 3 || name.size() > 50)
115 throw ModelException(
"data/attributes/name",
"Length must be >=3 and <=50.");
117 for (
const auto &c : name)
119 if (!isalnum(c) && (c !=
'_' && c !=
'-' && c !=
'.'))
122 "data/attributes/name",
123 BUILD_STR(
"Usage of unauthorized character: " << c));
An exception class for general API error.
#define ASSERT_LOG(cond, msg)
#define BUILD_STR(param)
Internal macro.
std::enable_if_t< is_shared_ptr_v< Out >, Out > assert_cast(const std::shared_ptr< In > &in)