Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
lanelet::traffic_rules::TrafficRulesFactory Class Reference

#include <TrafficRulesFactory.h>

Public Types

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

Public Member Functions

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

Static Public Member Functions

static std::vector< std::pair< std::string, std::string > > availableTrafficRules ()
 returns registered traffic rules by location and participant More...
 
static TrafficRulesUPtr create (const std::string &location, const std::string &participant, TrafficRules::Configuration configuration=TrafficRules::Configuration())
 
static TrafficRulesFactoryinstance ()
 

Private Member Functions

 TrafficRulesFactory ()=default
 

Private Attributes

std::map< std::pair< std::string, std::string >, FactoryFcnregistry_
 

Detailed Description

Definition at line 13 of file TrafficRulesFactory.h.

Member Typedef Documentation

◆ FactoryFcn

Definition at line 15 of file TrafficRulesFactory.h.

Constructor & Destructor Documentation

◆ TrafficRulesFactory()

lanelet::traffic_rules::TrafficRulesFactory::TrafficRulesFactory ( )
privatedefault

Member Function Documentation

◆ availableTrafficRules()

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

returns registered traffic rules by location and participant

Returns
first member of pair is location, second is participant

Definition at line 27 of file TrafficRulesFactory.cpp.

◆ create()

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

create a traffic rule object based on location and participant

Exceptions
InvalidInputErrorif no traffic rules are available for a location/participant combination

Definition at line 10 of file TrafficRulesFactory.cpp.

◆ instance()

TrafficRulesFactory & lanelet::traffic_rules::TrafficRulesFactory::instance ( )
static

Definition at line 33 of file TrafficRulesFactory.cpp.

◆ registerStrategy()

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

Definition at line 16 of file TrafficRulesFactory.h.

Member Data Documentation

◆ registry_

std::map<std::pair<std::string, std::string>, FactoryFcn> lanelet::traffic_rules::TrafficRulesFactory::registry_
private

Definition at line 38 of file TrafficRulesFactory.h.


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


lanelet2_traffic_rules
Author(s): Fabian Poggenhans
autogenerated on Thu Mar 6 2025 03:26:07