A hybrid map is just like a normal map with keys as string, but elements can also be accessed using an enum for the keys. This is much faster than using strings for the lookup. More...
#include <HybridMap.h>
Public Types | |
using | const_iterator = typename Map::const_iterator |
using | difference_type = typename Map::difference_type |
using | Enum = std::decay_t< decltype(PairArray[0].second)> |
using | iterator = typename Map::iterator |
using | key_type = typename Map::key_type |
using | Map = std::map< std::string, ValueT > |
using | mapped_type = typename Map::mapped_type |
using | size_type = typename Map::size_type |
using | value_type = typename Map::value_type |
using | Vec = std::vector< typename Map::iterator > |
Public Member Functions | |
ValueT & | at (const Enum &k) |
const ValueT & | at (const Enum &k) const |
ValueT & | at (const key_type &k) |
const ValueT & | at (const key_type &k) const |
iterator | begin () |
const_iterator | begin () const |
void | clear () |
bool | empty () const |
iterator | end () |
const_iterator | end () const |
size_type | erase (const std::string &k) |
iterator | erase (const_iterator pos) |
iterator | find (const key_type &k) |
const_iterator | find (const key_type &k) const |
iterator | find (Enum k) |
const_iterator | find (Enum k) const |
HybridMap () noexcept=default | |
HybridMap (const HybridMap &rhs) | |
HybridMap (const std::initializer_list< std::pair< const std::string, ValueT >> &list) | |
HybridMap (HybridMap &&rhs) noexcept | |
template<typename InputIterator > | |
HybridMap (InputIterator begin, InputIterator end) | |
std::pair< iterator, bool > | insert (const value_type &v) |
iterator | insert (const_iterator hint, const value_type &v) |
auto | key_comp () const |
bool | operator!= (const HybridMap &other) const |
HybridMap & | operator= (const HybridMap &rhs) |
HybridMap & | operator= (HybridMap &&rhs) noexcept |
bool | operator== (const HybridMap &other) const |
ValueT & | operator[] (const Enum &k) |
ValueT & | operator[] (const key_type &k) |
size_t | size () const |
auto | value_comp () const |
~HybridMap () noexcept=default | |
Private Types | |
using | Array = detail::ArrayView< PairArrayT, PairArray > |
Private Member Functions | |
void | updateV (iterator it) |
Private Attributes | |
Map | m_ |
Vec | v_ |
A hybrid map is just like a normal map with keys as string, but elements can also be accessed using an enum for the keys. This is much faster than using strings for the lookup.
Enum | an enum with continuous values. The last element must be named "End". |
Definition at line 67 of file HybridMap.h.
|
private |
Definition at line 68 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::const_iterator = typename Map::const_iterator |
Definition at line 78 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::difference_type = typename Map::difference_type |
Definition at line 80 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::Enum = std::decay_t<decltype(PairArray[0].second)> |
Definition at line 73 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::iterator = typename Map::iterator |
Definition at line 77 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::key_type = typename Map::key_type |
Definition at line 75 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::Map = std::map<std::string, ValueT> |
Definition at line 71 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::mapped_type = typename Map::mapped_type |
Definition at line 76 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::size_type = typename Map::size_type |
Definition at line 81 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::value_type = typename Map::value_type |
Definition at line 79 of file HybridMap.h.
using lanelet::HybridMap< ValueT, PairArrayT, PairArray >::Vec = std::vector<typename Map::iterator> |
Definition at line 72 of file HybridMap.h.
|
defaultnoexcept |
|
inlinenoexcept |
Definition at line 83 of file HybridMap.h.
|
inline |
Definition at line 94 of file HybridMap.h.
|
inline |
Definition at line 100 of file HybridMap.h.
|
inline |
Definition at line 106 of file HybridMap.h.
|
defaultnoexcept |
|
inline |
Definition at line 200 of file HybridMap.h.
|
inline |
Definition at line 185 of file HybridMap.h.
|
inline |
Definition at line 193 of file HybridMap.h.
|
inline |
Definition at line 178 of file HybridMap.h.
|
inline |
Definition at line 125 of file HybridMap.h.
|
inline |
Definition at line 127 of file HybridMap.h.
|
inline |
Definition at line 208 of file HybridMap.h.
|
inline |
Definition at line 210 of file HybridMap.h.
|
inline |
Definition at line 126 of file HybridMap.h.
|
inline |
Definition at line 128 of file HybridMap.h.
|
inline |
Definition at line 152 of file HybridMap.h.
|
inline |
Definition at line 144 of file HybridMap.h.
|
inline |
Definition at line 114 of file HybridMap.h.
|
inline |
Definition at line 119 of file HybridMap.h.
|
inline |
Definition at line 115 of file HybridMap.h.
|
inline |
Definition at line 120 of file HybridMap.h.
|
inline |
Definition at line 130 of file HybridMap.h.
|
inline |
Definition at line 138 of file HybridMap.h.
|
inline |
Definition at line 213 of file HybridMap.h.
|
inline |
Definition at line 217 of file HybridMap.h.
|
inline |
Definition at line 95 of file HybridMap.h.
|
inlinenoexcept |
Definition at line 87 of file HybridMap.h.
|
inline |
Definition at line 216 of file HybridMap.h.
|
inline |
Definition at line 168 of file HybridMap.h.
|
inline |
Definition at line 161 of file HybridMap.h.
|
inline |
Definition at line 211 of file HybridMap.h.
|
inlineprivate |
Definition at line 220 of file HybridMap.h.
|
inline |
Definition at line 214 of file HybridMap.h.
|
private |
Definition at line 230 of file HybridMap.h.
|
private |
Definition at line 231 of file HybridMap.h.