Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::utils::ConstBidirectionalMap< K, V > Class Template Reference

A read-only bidirectional map that maintains key-value and value-key mappings. More...

#include <src/utils/bidirectional_map.h>

Public Member Functions

 ConstBidirectionalMap (std::initializer_list< std::pair< K, V > > list)
void insert (const K &key, const V &val)
std::optional< V > find_by_key (const K &key) const
std::optional< K > find_by_value (const V &val) const

Detailed Description

template<typename K, typename V>
class zrythm::utils::ConstBidirectionalMap< K, V >

A read-only bidirectional map that maintains key-value and value-key mappings.

Template Parameters
KKey type
VValue type

This class provides constant-time lookups in both directions (key to value and value to key) using two internal unordered maps. The map is constructed with an initializer list and cannot be modified after construction.

Definition at line 23 of file bidirectional_map.h.

Constructor & Destructor Documentation

◆ ConstBidirectionalMap()

template<typename K, typename V>
zrythm::utils::ConstBidirectionalMap< K, V >::ConstBidirectionalMap ( std::initializer_list< std::pair< K, V > > list)
inline

Definition at line 29 of file bidirectional_map.h.

Member Function Documentation

◆ find_by_key()

template<typename K, typename V>
std::optional< V > zrythm::utils::ConstBidirectionalMap< K, V >::find_by_key ( const K & key) const
inline

Definition at line 42 of file bidirectional_map.h.

◆ find_by_value()

template<typename K, typename V>
std::optional< K > zrythm::utils::ConstBidirectionalMap< K, V >::find_by_value ( const V & val) const
inline

Definition at line 49 of file bidirectional_map.h.

◆ insert()

template<typename K, typename V>
void zrythm::utils::ConstBidirectionalMap< K, V >::insert ( const K & key,
const V & val )
inline

Definition at line 36 of file bidirectional_map.h.


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