gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst > Class Template Reference

Public Types

using difference_type = std::ptrdiff_t
 
using value_type = typename Self::value_type
 
using reference = typename std::conditional< IsConst, value_type const &, value_type & >::type
 
using pointer = typename std::conditional< IsConst, value_type const *, value_type * >::type
 
using iterator_category = std::forward_iterator_tag
 

Public Member Functions

 Iter ()=default
 
template<bool OtherIsConst, typename = typename std::enable_if<IsConst && !OtherIsConst>::type>
 Iter (Iter< OtherIsConst > const &other) noexcept
 
 Iter (NodePtr valPtr, uint8_t const *infoPtr) noexcept
 
 Iter (NodePtr valPtr, uint8_t const *infoPtr, fast_forward_tag ROBIN_HOOD_UNUSED(tag)) noexcept
 
template<bool OtherIsConst, typename = typename std::enable_if<IsConst && !OtherIsConst>::type>
Iteroperator= (Iter< OtherIsConst > const &other) noexcept
 
Iteroperator++ () noexcept
 
Iter operator++ (int) noexcept
 
reference operator* () const
 
pointer operator-> () const
 
template<bool O>
bool operator== (Iter< O > const &o) const noexcept
 
template<bool O>
bool operator!= (Iter< O > const &o) const noexcept
 

Private Types

using NodePtr = typename std::conditional< IsConst, Node const *, Node * >::type
 

Private Member Functions

void fastForward () noexcept
 

Private Attributes

NodePtr mKeyVals {nullptr}
 
uint8_t const * mInfo {nullptr}
 

Friends

class Table< IsFlat, MaxLoadFactor100, key_type, mapped_type, hasher, key_equal >
 

Detailed Description

template<bool IsFlat, size_t MaxLoadFactor100, typename Key, typename T, typename Hash, typename KeyEqual>
template<bool IsConst>
class robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >

Definition at line 1225 of file robin_hood.h.

Member Typedef Documentation

◆ difference_type

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::difference_type = std::ptrdiff_t

Definition at line 1230 of file robin_hood.h.

◆ iterator_category

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::iterator_category = std::forward_iterator_tag

Definition at line 1234 of file robin_hood.h.

◆ NodePtr

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::NodePtr = typename std::conditional<IsConst, Node const*, Node*>::type
private

Definition at line 1227 of file robin_hood.h.

◆ pointer

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::pointer = typename std::conditional<IsConst, value_type const*, value_type*>::type

Definition at line 1233 of file robin_hood.h.

◆ reference

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::reference = typename std::conditional<IsConst, value_type const&, value_type&>::type

Definition at line 1232 of file robin_hood.h.

◆ value_type

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::value_type = typename Self::value_type

Definition at line 1231 of file robin_hood.h.

Constructor & Destructor Documentation

◆ Iter() [1/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::Iter ( )
default

◆ Iter() [2/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
template<bool OtherIsConst, typename = typename std::enable_if<IsConst && !OtherIsConst>::type>
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::Iter ( Iter< OtherIsConst > const &  other)
inlinenoexcept

Definition at line 1247 of file robin_hood.h.

◆ Iter() [3/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::Iter ( NodePtr  valPtr,
uint8_t const *  infoPtr 
)
inlinenoexcept

Definition at line 1251 of file robin_hood.h.

◆ Iter() [4/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::Iter ( NodePtr  valPtr,
uint8_t const *  infoPtr,
fast_forward_tag   ROBIN_HOOD_UNUSEDtag 
)
inlinenoexcept

Definition at line 1255 of file robin_hood.h.

Here is the call graph for this function:

Member Function Documentation

◆ fastForward()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
void robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::fastForward ( )
inlineprivatenoexcept

◆ operator!=()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
template<bool O>
bool robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::operator!= ( Iter< O > const &  o) const
inlinenoexcept

Definition at line 1298 of file robin_hood.h.

◆ operator*()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
reference robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::operator* ( ) const
inline

Definition at line 1284 of file robin_hood.h.

◆ operator++() [1/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
Iter& robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::operator++ ( )
inlinenoexcept

Definition at line 1271 of file robin_hood.h.

Here is the call graph for this function:

◆ operator++() [2/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
Iter robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::operator++ ( int  )
inlinenoexcept

Definition at line 1278 of file robin_hood.h.

◆ operator->()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
pointer robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::operator-> ( ) const
inline

Definition at line 1288 of file robin_hood.h.

◆ operator=()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
template<bool OtherIsConst, typename = typename std::enable_if<IsConst && !OtherIsConst>::type>
Iter& robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::operator= ( Iter< OtherIsConst > const &  other)
inlinenoexcept

Definition at line 1264 of file robin_hood.h.

◆ operator==()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
template<bool O>
bool robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::operator== ( Iter< O > const &  o) const
inlinenoexcept

Definition at line 1293 of file robin_hood.h.

Friends And Related Function Documentation

◆ Table< IsFlat, MaxLoadFactor100, key_type, mapped_type, hasher, key_equal >

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
friend class Table< IsFlat, MaxLoadFactor100, key_type, mapped_type, hasher, key_equal >
friend

Definition at line 1306 of file robin_hood.h.

Member Data Documentation

◆ mInfo

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<bool IsConst>
uint8_t const* robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Iter< IsConst >::mInfo {nullptr}
private

◆ mKeyVals


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