mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Private Attributes | Friends
m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C > Struct Template Reference
Collaboration diagram for m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >:
[legend]

Public Types

using map_type = std::conditional_t< Is_Const, const RefCountingHashMap, RefCountingHashMap >
 
using bucket_type = std::conditional_t< Is_Const, const typename map_type::entry_type, typename map_type::entry_type >
 
using pointer = std::conditional_t< Is_Const, const typename map_type::const_pointer, typename map_type::pointer >
 
using reference = std::conditional_t< Is_Const, const typename map_type::const_reference, typename map_type::reference >
 

Public Member Functions

 the_iterator (map_type &map, entry_type *bucket)
 
the_iteratoroperator++ ()
 
the_iterator operator++ (int)
 
reference operator* () const
 
pointer operator-> () const
 
bool operator== (the_iterator other) const
 
bool operator!= (the_iterator other) const
 

Static Public Attributes

static constexpr bool Is_Const = C
 

Private Attributes

map_typemap_
 
bucket_typebucket_ = nullptr
 

Friends

struct RefCountingHashMap
 

Detailed Description

template<typename Key, typename Value, typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
struct m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >

Definition at line 55 of file RefCountingHashMap.hpp.

Member Typedef Documentation

◆ bucket_type

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
using m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::bucket_type = std::conditional_t<Is_Const, const typename map_type::entry_type, typename map_type::entry_type>

Definition at line 62 of file RefCountingHashMap.hpp.

◆ map_type

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
using m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::map_type = std::conditional_t<Is_Const, const RefCountingHashMap, RefCountingHashMap>

Definition at line 61 of file RefCountingHashMap.hpp.

◆ pointer

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
using m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::pointer = std::conditional_t<Is_Const, const typename map_type::const_pointer, typename map_type::pointer>

Definition at line 63 of file RefCountingHashMap.hpp.

◆ reference

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
using m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::reference = std::conditional_t<Is_Const, const typename map_type::const_reference, typename map_type::reference>

Definition at line 64 of file RefCountingHashMap.hpp.

Constructor & Destructor Documentation

◆ the_iterator()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::the_iterator ( map_type map,
entry_type bucket 
)
inline

Definition at line 71 of file RefCountingHashMap.hpp.

Member Function Documentation

◆ operator!=()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
bool m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::operator!= ( the_iterator< C >  other) const
inline

◆ operator*()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
reference m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
the_iterator & m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
the_iterator m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::operator++ ( int  )
inline

◆ operator->()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
pointer m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::operator-> ( ) const
inline

◆ operator==()

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
bool m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::operator== ( the_iterator< C >  other) const
inline

Friends And Related Function Documentation

◆ RefCountingHashMap

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
friend struct RefCountingHashMap
friend

Definition at line 57 of file RefCountingHashMap.hpp.

Field Documentation

◆ bucket_

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
bucket_type* m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::bucket_ = nullptr
private

◆ Is_Const

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
constexpr bool m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::Is_Const = C
staticconstexpr

Definition at line 59 of file RefCountingHashMap.hpp.

◆ map_

template<typename Key , typename Value , typename Hash = std::hash<Key>, typename KeyEqual = std::equal_to<Key>>
template<bool C>
map_type& m::RefCountingHashMap< Key, Value, Hash, KeyEqual >::the_iterator< C >::map_
private

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