Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
BidirectionalMap< T, U > Class Template Reference

#include <BidirectionalMap.h>

Collaboration diagram for BidirectionalMap< T, U >:

Classes

class  Side

Public Types

using LeftSideType = Side<T, U>
using RightSideType = Side<U, T>

Public Member Functions

 BidirectionalMap ()=default
LeftSideTypeget_left ()
const LeftSideTypeget_left () const
RightSideTypeget_right ()
const RightSideTypeget_right () const
void insert (const T &key, const U &value)
template<typename KT, typename KU>
void emplace (KT &&key, KU &&value)
void remove_left (const T &key)
void remove_right (const U &key)
void clear ()
void reserve (size_t n)

Private Attributes

LeftSideType left {}
RightSideType right {}

Detailed Description

template<typename T, typename U>
class BidirectionalMap< T, U >

Definition at line 7 of file BidirectionalMap.h.

Member Typedef Documentation

◆ LeftSideType

template<typename T, typename U>
using BidirectionalMap< T, U >::LeftSideType = Side<T, U>

Definition at line 56 of file BidirectionalMap.h.

◆ RightSideType

template<typename T, typename U>
using BidirectionalMap< T, U >::RightSideType = Side<U, T>

Definition at line 57 of file BidirectionalMap.h.

Constructor & Destructor Documentation

◆ BidirectionalMap()

template<typename T, typename U>
BidirectionalMap< T, U >::BidirectionalMap ( )
default

Member Function Documentation

◆ clear()

template<typename T, typename U>
void BidirectionalMap< T, U >::clear ( )
inline

Definition at line 122 of file BidirectionalMap.h.

References left, and right.

◆ emplace()

template<typename T, typename U>
template<typename KT, typename KU>
void BidirectionalMap< T, U >::emplace ( KT && key,
KU && value )
inline

Definition at line 87 of file BidirectionalMap.h.

References left, and right.

◆ get_left() [1/2]

template<typename T, typename U>
LeftSideType & BidirectionalMap< T, U >::get_left ( )
inline

Definition at line 61 of file BidirectionalMap.h.

References left.

◆ get_left() [2/2]

template<typename T, typename U>
const LeftSideType & BidirectionalMap< T, U >::get_left ( ) const
inline

Definition at line 62 of file BidirectionalMap.h.

References left.

◆ get_right() [1/2]

template<typename T, typename U>
RightSideType & BidirectionalMap< T, U >::get_right ( )
inline

Definition at line 64 of file BidirectionalMap.h.

References right.

◆ get_right() [2/2]

template<typename T, typename U>
const RightSideType & BidirectionalMap< T, U >::get_right ( ) const
inline

Definition at line 65 of file BidirectionalMap.h.

References right.

◆ insert()

template<typename T, typename U>
void BidirectionalMap< T, U >::insert ( const T & key,
const U & value )
inline

Definition at line 67 of file BidirectionalMap.h.

References left, and right.

Referenced by EngineCore::MaterialShader::getMaterialNameMap().

Here is the caller graph for this function:

◆ remove_left()

template<typename T, typename U>
void BidirectionalMap< T, U >::remove_left ( const T & key)
inline

Definition at line 104 of file BidirectionalMap.h.

References left, and right.

◆ remove_right()

template<typename T, typename U>
void BidirectionalMap< T, U >::remove_right ( const U & key)
inline

Definition at line 113 of file BidirectionalMap.h.

References left, and right.

◆ reserve()

template<typename T, typename U>
void BidirectionalMap< T, U >::reserve ( size_t n)
inline

Definition at line 127 of file BidirectionalMap.h.

References left, and right.

Member Data Documentation

◆ left

template<typename T, typename U>
LeftSideType BidirectionalMap< T, U >::left {}
private

◆ right


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