Sese Framework
2.3.0
A cross-platform framework
|
Bidirectional map. More...
#include <Bimap.h>
Public Types | |
using | BimapKeyType = K |
using | BimapValueType = V |
Public Member Functions | |
Bimap ()=default | |
~Bimap ()=default | |
Bimap (const Bimap &)=default | |
Bimap & | operator= (const Bimap &)=default |
Bimap (Bimap &&) noexcept=default | |
Bimap & | operator= (Bimap &&) noexcept=default |
Bimap (const std::initializer_list< std::pair< BimapKeyType, BimapValueType > > &init) | |
decltype(auto) | begin () const |
decltype(auto) | end () const |
void | insert (const BimapKeyType &key, const BimapValueType &value) |
void | eraseByKey (const BimapKeyType &key) |
void | eraseByValue (const BimapValueType &value) |
bool | tryEraseByKey (const BimapKeyType &key) |
bool | tryEraseByValue (const BimapValueType &value) |
bool | existByKey (const BimapKeyType &key) const |
bool | existByValue (const BimapValueType &value) const |
const BimapValueType & | getByKey (const BimapKeyType &key) const |
BimapValueType & | getByKey (const BimapKeyType &key) |
const BimapKeyType & | getByValue (const BimapValueType &value) const |
BimapKeyType & | getByValue (const BimapValueType &value) |
bool | empty () const |
size_t | size () const |
void | clear () |
Private Attributes | |
std::map< BimapKeyType, BimapValueType > | first {} |
std::map< BimapValueType, BimapKeyType > | second {} |
Bidirectional map.
K | Key type |
V | Value type |
using sese::Bimap< K, V >::BimapKeyType = K |
using sese::Bimap< K, V >::BimapValueType = V |
|
default |
|
default |
|
default |
|
defaultnoexcept |
|
inline |
References sese::Bimap< K, V >::insert().
|
inline |
References sese::Bimap< K, V >::first.
|
inline |
References sese::Bimap< K, V >::first, and sese::Bimap< K, V >::second.
|
inlinenodiscard |
References sese::Bimap< K, V >::first.
|
inline |
References sese::Bimap< K, V >::first.
|
inline |
References sese::Bimap< K, V >::first, and sese::Bimap< K, V >::second.
Referenced by sese::Bimap< K, V >::tryEraseByKey().
|
inline |
References sese::Bimap< K, V >::first, and sese::Bimap< K, V >::second.
Referenced by sese::Bimap< K, V >::tryEraseByValue().
|
inline |
References sese::Bimap< K, V >::first.
|
inline |
References sese::Bimap< K, V >::second.
|
inlinenodiscard |
References sese::Bimap< K, V >::first.
|
inlinenodiscard |
References sese::Bimap< K, V >::first.
|
inlinenodiscard |
References sese::Bimap< K, V >::second.
|
inlinenodiscard |
References sese::Bimap< K, V >::second.
|
inline |
References sese::Bimap< K, V >::first, and sese::Bimap< K, V >::second.
Referenced by sese::Bimap< K, V >::Bimap().
|
defaultnoexcept |
|
default |
|
inlinenodiscard |
References sese::Bimap< K, V >::first.
|
inline |
References sese::Bimap< K, V >::eraseByKey(), and sese::Bimap< K, V >::first.
|
inline |
References sese::Bimap< K, V >::eraseByValue(), and sese::Bimap< K, V >::second.
|
private |
Referenced by sese::Bimap< K, V >::begin(), sese::Bimap< K, V >::clear(), sese::Bimap< K, V >::empty(), sese::Bimap< K, V >::end(), sese::Bimap< K, V >::eraseByKey(), sese::Bimap< K, V >::eraseByValue(), sese::Bimap< K, V >::existByKey(), sese::Bimap< K, V >::getByKey(), sese::Bimap< K, V >::getByKey(), sese::Bimap< K, V >::insert(), sese::Bimap< K, V >::size(), and sese::Bimap< K, V >::tryEraseByKey().
|
private |