Go to the documentation of this file.
15 namespace io_handlers {
64 void registerParser(
const std::string& strategy,
const std::string& extension,
116 template <
typename T>
120 void registerWriter(
const std::string& strategy,
const std::string& extension,
138 static_assert(!
utils::strequal(T::name(),
""),
"You did not overload the name() function!");
141 return new T(projector, config);
156 static_assert(!
utils::strequal(T::name(),
""),
"You did not overload the name() function!");
159 return new T(projector, config);
static std::vector< std::string > availableExtensions()
returns all available extensions as vector
std::map< std::string, WriterCreationFcn > extensionRegistry_
std::map< std::string, WriterCreationFcn > registry_
std::function< Parser *(const Projector &, const io::Configuration &)> ParserCreationFcn
static std::vector< std::string > availableParsers()
returns all available parsers as vector
static Parser::Ptr createFromExtension(const std::string &extension, const Projector &projector, const io::Configuration &config=io::Configuration())
creates a matching parser for the given file extension
Factory class for all suppored lanelet map parsers.
std::map< std::string, Attribute > Configuration
void registerParser(const std::string &strategy, const std::string &extension, const ParserCreationFcn &factoryFunction)
std::function< Writer *(const Projector &, const io::Configuration &)> WriterCreationFcn
Factory class for all supported lanelet map writers.
std::map< std::string, ParserCreationFcn > extensionRegistry_
static WriterFactory & instance()
Base object for parsers. To create a new parser, you have to do the following steps:
std::map< std::string, ParserCreationFcn > registry_
static Writer::Ptr create(const std::string &writerName, const Projector &projector, const io::Configuration &config=io::Configuration())
creates a writer that matches the given name.
static ParserFactory & instance()
Base object for writers. To create a new writer, you have to do the following steps:
Registration object for a parser. Needs to be instanciated as static object once to register a parser...
constexpr bool strequal(char const *lhs, char const *rhs)
static Writer::Ptr createFromExtension(const std::string &extension, const Projector &projector, const io::Configuration &config=io::Configuration())
creates a matching writer for the given file extension
static Parser::Ptr create(const std::string &parserName, const Projector &projector, const io::Configuration &config=io::Configuration())
creates a parser that matches the given name.
std::shared_ptr< Parser > Ptr
Registration object for a writer. Needs to be instanciated as static object once to register a writer...
static std::vector< std::string > availableExtensions()
returns all available extensions as vector
std::shared_ptr< Writer > Ptr
void registerWriter(const std::string &strategy, const std::string &extension, const WriterCreationFcn &factoryFunction)
static std::vector< std::string > availableWriters()
returns all available writers as vector
lanelet2_io
Author(s): Fabian Poggenhans
autogenerated on Thu Mar 6 2025 03:26:03