Fishnet 2.0.1
Framework for Graph-Based Analysis of GIS Vector Data
Loading...
Searching...
No Matches
fishnet::util::BidirectionalMultiHashMap< from_type, to_type > Class Template Reference

Bidirectional Hash MultiMap. Behaves like a regular multimap, but also implements fast reversed look-up in trade for memory. More...

#include <BidirectionalMap.hpp>

Inheritance diagram for fishnet::util::BidirectionalMultiHashMap< from_type, to_type >:
Collaboration diagram for fishnet::util::BidirectionalMultiHashMap< from_type, to_type >:

Public Types

using value_type = typename Base::value_type
 
using inverse_value_type = typename Base::inverse_value_type
 

Public Member Functions

 BidirectionalMultiHashMap (std::initializer_list< typename Base::value_type_non_const > init)
 
constexpr BidirectionalMultiHashMap ()=default
 
constexpr auto keySet () const noexcept
 
constexpr auto inverseKeySet () const noexcept
 
constexpr auto getTo (const from_type &key) const noexcept
 
constexpr auto getFrom (const to_type &key) const noexcept
 
template<typename T >
requires (__impl::UniversalType<T, from_type> || __impl::UniversalType<T, to_type>) && (not std::convertible_to<from_type,to_type>)
constexpr auto get (const T &key) const noexcept
 

Detailed Description

template<Mapable from_type, Mapable to_type>
class fishnet::util::BidirectionalMultiHashMap< from_type, to_type >

Bidirectional Hash MultiMap. Behaves like a regular multimap, but also implements fast reversed look-up in trade for memory.

Template Parameters
from_typefrom type
to_typeto type

Member Typedef Documentation

◆ inverse_value_type

template<Mapable from_type, Mapable to_type>
using fishnet::util::BidirectionalMultiHashMap< from_type, to_type >::inverse_value_type = typename Base::inverse_value_type

◆ value_type

template<Mapable from_type, Mapable to_type>
using fishnet::util::BidirectionalMultiHashMap< from_type, to_type >::value_type = typename Base::value_type

Constructor & Destructor Documentation

◆ BidirectionalMultiHashMap() [1/2]

template<Mapable from_type, Mapable to_type>
fishnet::util::BidirectionalMultiHashMap< from_type, to_type >::BidirectionalMultiHashMap ( std::initializer_list< typename Base::value_type_non_const >  init)
inline

◆ BidirectionalMultiHashMap() [2/2]

template<Mapable from_type, Mapable to_type>
constexpr fishnet::util::BidirectionalMultiHashMap< from_type, to_type >::BidirectionalMultiHashMap ( )
constexprdefault

Member Function Documentation

◆ get()

template<Mapable from_type, Mapable to_type>
template<typename T >
requires (__impl::UniversalType<T, from_type> || __impl::UniversalType<T, to_type>) && (not std::convertible_to<from_type,to_type>)
constexpr auto fishnet::util::BidirectionalMultiHashMap< from_type, to_type >::get ( const T &  key) const
inlineconstexprnoexcept

◆ getFrom()

template<Mapable from_type, Mapable to_type>
constexpr auto fishnet::util::BidirectionalMultiHashMap< from_type, to_type >::getFrom ( const to_type &  key) const
inlineconstexprnoexcept

◆ getTo()

template<Mapable from_type, Mapable to_type>
constexpr auto fishnet::util::BidirectionalMultiHashMap< from_type, to_type >::getTo ( const from_type &  key) const
inlineconstexprnoexcept

◆ inverseKeySet()

template<Mapable from_type, Mapable to_type>
constexpr auto fishnet::util::BidirectionalMultiHashMap< from_type, to_type >::inverseKeySet ( ) const
inlineconstexprnoexcept

◆ keySet()

template<Mapable from_type, Mapable to_type>
constexpr auto fishnet::util::BidirectionalMultiHashMap< from_type, to_type >::keySet ( ) const
inlineconstexprnoexcept

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