openMSX
Public Types | Public Member Functions | List of all members
hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue > Class Template Reference

#include <hash_set.hh>

Public Types

using value_type = IValue
 
using difference_type = int
 
using pointer = IValue *
 
using reference = IValue &
 
using iterator_category = std::forward_iterator_tag
 

Public Member Functions

 Iter ()=default
 
template<typename HashSet2 , typename IValue2 >
 Iter (const Iter< HashSet2, IValue2 > &other)
 
template<typename HashSet2 , typename IValue2 >
Iteroperator= (const Iter< HashSet2, IValue2 > &rhs)
 
bool operator== (const Iter &rhs) const
 
Iteroperator++ ()
 
Iter operator++ (int)
 
IValue & operator* () const
 
IValue * operator-> () const
 
 Iter (HashSet *m, PoolIndex idx)
 
PoolIndex getElementIdx () const
 

Detailed Description

template<typename Value, typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet, typename IValue>
class hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >

Definition at line 274 of file hash_set.hh.

Member Typedef Documentation

◆ difference_type

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
using hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::difference_type = int

Definition at line 277 of file hash_set.hh.

◆ iterator_category

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
using hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::iterator_category = std::forward_iterator_tag

Definition at line 280 of file hash_set.hh.

◆ pointer

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
using hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::pointer = IValue*

Definition at line 278 of file hash_set.hh.

◆ reference

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
using hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::reference = IValue&

Definition at line 279 of file hash_set.hh.

◆ value_type

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
using hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::value_type = IValue

Definition at line 276 of file hash_set.hh.

Constructor & Destructor Documentation

◆ Iter() [1/3]

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::Iter ( )
default

◆ Iter() [2/3]

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
template<typename HashSet2 , typename IValue2 >
hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::Iter ( const Iter< HashSet2, IValue2 > &  other)
inlineexplicit

Definition at line 285 of file hash_set.hh.

◆ Iter() [3/3]

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::Iter ( HashSet *  m,
PoolIndex  idx 
)
inline

Definition at line 326 of file hash_set.hh.

Member Function Documentation

◆ getElementIdx()

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
PoolIndex hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::getElementIdx ( ) const
inline

Definition at line 329 of file hash_set.hh.

Referenced by hash_set< Value, Extractor, Hasher, Equal >::erase().

◆ operator*()

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
IValue & hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::operator* ( ) const
inline

Definition at line 318 of file hash_set.hh.

◆ operator++() [1/2]

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
Iter & hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
Iter hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::operator++ ( int  )
inline

Definition at line 312 of file hash_set.hh.

◆ operator->()

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
IValue * hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::operator-> ( ) const
inline

Definition at line 321 of file hash_set.hh.

◆ operator=()

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
template<typename HashSet2 , typename IValue2 >
Iter & hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::operator= ( const Iter< HashSet2, IValue2 > &  rhs)
inline

Definition at line 289 of file hash_set.hh.

◆ operator==()

template<typename Value , typename Extractor = std::identity, typename Hasher = std::hash<hash_set_impl::ExtractedType<Value, Extractor>>, typename Equal = std::equal_to<>>
template<typename HashSet , typename IValue >
bool hash_set< Value, Extractor, Hasher, Equal >::Iter< HashSet, IValue >::operator== ( const Iter< HashSet, IValue > &  rhs) const
inline

Definition at line 295 of file hash_set.hh.


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