Go to the documentation of this file.
10 namespace validation {
14 template <
typename Val
idatorT>
17 template <
typename Val
idatorT>
22 template <
typename Val
idatorT>
36 template <
typename Val
idatorT>
39 template <
typename Val
idatorT>
42 template <
typename Val
idatorT>
65 static_assert(!
utils::strequal(T::name(),
""),
"You did not overload the name() function!");
75 static_assert(!
utils::strequal(T::name(),
""),
"You did not overload the name() function!");
85 static_assert(!
utils::strequal(T::name(),
""),
"You did not overload the name() function!");
ValidatorFactory()=default
std::map< std::string, CreationFcn< MapValidator > > mapValidatorRegistry_
RegisterTrafficRuleValidator()
void registerRoutingGraphValidator(const std::string &name, const CreationFcn< RoutingGraphValidator > &creator)
std::vector< std::regex > Regexes
ValidatorsWithName< TrafficRuleValidator > createTrafficRuleValidators(const Regexes ®exes)
void registerTrafficRuleValidator(const std::string &name, const CreationFcn< TrafficRuleValidator > &creator)
void registerMapValidator(const std::string &name, const CreationFcn< MapValidator > &creator)
std::map< std::string, CreationFcn< TrafficRuleValidator > > trafficRuleValidatorRegistry_
RegisterRoutingGraphValidator()
Registration object for traffic rule validators.
static ValidatorFactory & instance()
std::vector< std::string > availableValidators(const Regexes ®exes={})
returns all available parsers as vector
constexpr bool strequal(char const *lhs, char const *rhs)
ValidatorsWithName< RoutingGraphValidator > createRoutingGraphValidators(const Regexes ®exes)
std::pair< std::string, std::unique_ptr< ValidatorT > > ValidatorWithName
ValidatorsWithName< MapValidator > createMapValidators(const Regexes ®exes)
Registration object for routing graph validators.
std::function< ValidatorT *()> CreationFcn
std::map< std::string, CreationFcn< RoutingGraphValidator > > routingGraphValidatorRegistry_
Registration object for a map validator. Needs to be instanciated as static object once to register a...
std::vector< ValidatorWithName< ValidatorT > > ValidatorsWithName