Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
lanelet::validation::ValidatorFactory Class Reference

#include <ValidatorFactory.h>

Public Types

template<typename ValidatorT >
using CreationFcn = std::function< ValidatorT *()>
 

Public Member Functions

std::vector< std::string > availableValidators (const Regexes &regexes={})
 returns all available parsers as vector More...
 
ValidatorsWithName< MapValidatorcreateMapValidators (const Regexes &regexes)
 
ValidatorsWithName< RoutingGraphValidatorcreateRoutingGraphValidators (const Regexes &regexes)
 
ValidatorsWithName< TrafficRuleValidatorcreateTrafficRuleValidators (const Regexes &regexes)
 

Static Public Member Functions

static ValidatorFactoryinstance ()
 

Private Member Functions

void registerMapValidator (const std::string &name, const CreationFcn< MapValidator > &creator)
 
void registerRoutingGraphValidator (const std::string &name, const CreationFcn< RoutingGraphValidator > &creator)
 
void registerTrafficRuleValidator (const std::string &name, const CreationFcn< TrafficRuleValidator > &creator)
 
 ValidatorFactory ()=default
 

Private Attributes

std::map< std::string, CreationFcn< MapValidator > > mapValidatorRegistry_
 
std::map< std::string, CreationFcn< RoutingGraphValidator > > routingGraphValidatorRegistry_
 
std::map< std::string, CreationFcn< TrafficRuleValidator > > trafficRuleValidatorRegistry_
 

Friends

template<typename ValidatorT >
class RegisterMapValidator
 
template<typename ValidatorT >
class RegisterRoutingGraphValidator
 
template<typename ValidatorT >
class RegisterTrafficRuleValidator
 

Detailed Description

Definition at line 20 of file ValidatorFactory.h.

Member Typedef Documentation

◆ CreationFcn

template<typename ValidatorT >
using lanelet::validation::ValidatorFactory::CreationFcn = std::function<ValidatorT*()>

Definition at line 23 of file ValidatorFactory.h.

Constructor & Destructor Documentation

◆ ValidatorFactory()

lanelet::validation::ValidatorFactory::ValidatorFactory ( )
privatedefault

Member Function Documentation

◆ availableValidators()

std::vector< std::string > lanelet::validation::ValidatorFactory::availableValidators ( const Regexes regexes = {})

returns all available parsers as vector

Returns
vector of parser names that match the regex, or all if empty

Definition at line 58 of file ValidatorFactory.cpp.

◆ createMapValidators()

ValidatorsWithName< MapValidator > lanelet::validation::ValidatorFactory::createMapValidators ( const Regexes regexes)

Definition at line 46 of file ValidatorFactory.cpp.

◆ createRoutingGraphValidators()

ValidatorsWithName< RoutingGraphValidator > lanelet::validation::ValidatorFactory::createRoutingGraphValidators ( const Regexes regexes)

Definition at line 54 of file ValidatorFactory.cpp.

◆ createTrafficRuleValidators()

ValidatorsWithName< TrafficRuleValidator > lanelet::validation::ValidatorFactory::createTrafficRuleValidators ( const Regexes regexes)

Definition at line 50 of file ValidatorFactory.cpp.

◆ instance()

ValidatorFactory & lanelet::validation::ValidatorFactory::instance ( )
static

Definition at line 41 of file ValidatorFactory.cpp.

◆ registerMapValidator()

void lanelet::validation::ValidatorFactory::registerMapValidator ( const std::string &  name,
const CreationFcn< MapValidator > &  creator 
)
private

Definition at line 65 of file ValidatorFactory.cpp.

◆ registerRoutingGraphValidator()

void lanelet::validation::ValidatorFactory::registerRoutingGraphValidator ( const std::string &  name,
const CreationFcn< RoutingGraphValidator > &  creator 
)
private

Definition at line 74 of file ValidatorFactory.cpp.

◆ registerTrafficRuleValidator()

void lanelet::validation::ValidatorFactory::registerTrafficRuleValidator ( const std::string &  name,
const CreationFcn< TrafficRuleValidator > &  creator 
)
private

Definition at line 69 of file ValidatorFactory.cpp.

Friends And Related Function Documentation

◆ RegisterMapValidator

template<typename ValidatorT >
friend class RegisterMapValidator
friend

Definition at line 37 of file ValidatorFactory.h.

◆ RegisterRoutingGraphValidator

template<typename ValidatorT >
friend class RegisterRoutingGraphValidator
friend

Definition at line 43 of file ValidatorFactory.h.

◆ RegisterTrafficRuleValidator

template<typename ValidatorT >
friend class RegisterTrafficRuleValidator
friend

Definition at line 40 of file ValidatorFactory.h.

Member Data Documentation

◆ mapValidatorRegistry_

std::map<std::string, CreationFcn<MapValidator> > lanelet::validation::ValidatorFactory::mapValidatorRegistry_
private

Definition at line 51 of file ValidatorFactory.h.

◆ routingGraphValidatorRegistry_

std::map<std::string, CreationFcn<RoutingGraphValidator> > lanelet::validation::ValidatorFactory::routingGraphValidatorRegistry_
private

Definition at line 53 of file ValidatorFactory.h.

◆ trafficRuleValidatorRegistry_

std::map<std::string, CreationFcn<TrafficRuleValidator> > lanelet::validation::ValidatorFactory::trafficRuleValidatorRegistry_
private

Definition at line 52 of file ValidatorFactory.h.


The documentation for this class was generated from the following files:


lanelet2_validation
Author(s): Fabian Poggenhans
autogenerated on Thu Mar 6 2025 03:26:17