Loading...
Searching...
No Matches
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 | ( |  | ) |

private default

## 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 | ( |  | ) |

default noexcept

## 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 >

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

inline static

## 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