Libosmium: osmium::index::MapFactory< TId, TValue > Class Template Reference

Libosmium Fast and flexible C++ library for working with OpenStreetMap data

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
osmium::index::MapFactory< TId, TValue > Class Template Reference

`#include <map.hpp>`

## Public Types
using | id_type = TId
using | value_type = TValue
using | map_type = osmium::index::map::Map<id_type, value_type>
using | create_map_func = std::function<map_type*(const std::vector<std::string>&)>

## Public Member Functions
| MapFactory (const MapFactory &)=delete
MapFactory & | operator= (const MapFactory &)=delete
| MapFactory (MapFactory &&)=delete
MapFactory & | operator= (MapFactory &&)=delete
| ~MapFactory () noexcept=default
bool | register_map (const std::string &map_type_name, create_map_func func)
bool | has_map_type (const std::string &map_type_name) const
std::vector< std::string > | map_types () const
std::unique_ptr< map_type > | create_map (const std::string &config_string) const

## Static Public Member Functions
static MapFactory< id_type, value_type > & | instance ()

## Private Member Functions
| MapFactory ()=default

## Private Attributes
std::map< const std::string, create_map_func > | m_callbacks

## Member Typedef Documentation

## ◆ create_map_func

template<typename TId, typename TValue>

using osmium::index::MapFactory< TId, TValue >::create_map_func = std::function<map_type*(const std::vector<std::string>&)>

## ◆ id_type

template<typename TId, typename TValue>

using osmium::index::MapFactory< TId, TValue >::id_type = TId

## ◆ map_type

template<typename TId, typename TValue>

using osmium::index::MapFactory< TId, TValue >::map_type = osmium::index::map::Map<id_type, value_type>

## ◆ value_type

template<typename TId, typename TValue>

using osmium::index::MapFactory< TId, TValue >::value_type = TValue

## Constructor & Destructor Documentation

## ◆ MapFactory() [1/3]

template<typename TId, typename TValue>

osmium::index::MapFactory< TId, TValue >::MapFactory | ( |  | ) |
| privatedefault

## ◆ MapFactory() [2/3]

template<typename TId, typename TValue>

osmium::index::MapFactory< TId, TValue >::MapFactory | ( | const MapFactory< TId, TValue > & |  | ) |
| delete

## ◆ MapFactory() [3/3]

template<typename TId, typename TValue>

osmium::index::MapFactory< TId, TValue >::MapFactory | ( | MapFactory< TId, TValue > && |  | ) |
| delete

## ◆ ~MapFactory()

template<typename TId, typename TValue>

osmium::index::MapFactory< TId, TValue >::~MapFactory | ( |  | ) |
| defaultnoexcept

## Member Function Documentation

## ◆ create_map()

template<typename TId, typename TValue>

std::unique_ptr< map_type > osmium::index::MapFactory< TId, TValue >::create_map | ( | const std::string & | config_string | ) | const
| inline

## ◆ has_map_type()

template<typename TId, typename TValue>

bool osmium::index::MapFactory< TId, TValue >::has_map_type | ( | const std::string & | map_type_name | ) | const
| inline

## ◆ instance()

template<typename TId, typename TValue>

MapFactory< id_type, value_type > & osmium::index::MapFactory< TId, TValue >::instance | ( |  | ) |
| inlinestatic

## ◆ map_types()

template<typename TId, typename TValue>

std::vector< std::string > osmium::index::MapFactory< TId, TValue >::map_types | ( |  | ) | const
| inline

## ◆ operator=() [1/2]

template<typename TId, typename TValue>

MapFactory & osmium::index::MapFactory< TId, TValue >::operator= | ( | const MapFactory< TId, TValue > & |  | ) |
| delete

## ◆ operator=() [2/2]

template<typename TId, typename TValue>

MapFactory & osmium::index::MapFactory< TId, TValue >::operator= | ( | MapFactory< TId, TValue > && |  | ) |
| delete

## ◆ register_map()

template<typename TId, typename TValue>

bool osmium::index::MapFactory< TId, TValue >::register_map | ( | const std::string & | map_type_name,
|  | create_map_func | func )
| inline

## Member Data Documentation

## ◆ m_callbacks

template<typename TId, typename TValue>

std::map<const std::string, create_map_func> osmium::index::MapFactory< TId, TValue >::m_callbacks
| private

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

- include/osmium/index/map.hpp