Class TrafficRulesFactory

Class Documentation

class TrafficRulesFactory

Public Types

using FactoryFcn = std::function<TrafficRulesUPtr(const TrafficRules::Configuration&)>

Public Functions

inline void registerStrategy(const std::string &location, const std::string &participant, const FactoryFcn &factoryFunction)

Public Static Functions

static TrafficRulesUPtr create(const std::string &location, const std::string &participant, TrafficRules::Configuration configuration = TrafficRules::Configuration())

create a traffic rule object based on location and participant

Throws:

InvalidInputError – if no traffic rules are available for a location/participant combination

static std::vector<std::pair<std::string, std::string>> availableTrafficRules()

returns registered traffic rules by location and participant

Returns:

first member of pair is location, second is participant

static TrafficRulesFactory &instance()