uvgVPCCenc 1.0.0
uvgVPCCenc is an open-source real-time V-PCC encoder library written in C++ from scratch.
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual > Class Template Reference

#include <robin_hood.h>

Inheritance diagram for robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >:
Collaboration diagram for robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >:

Public Types

using key_type = Key
 
using mapped_type = T
 
using value_type = typename std::conditional< is_set, Key, robin_hood::pair< typename std::conditional< is_flat, Key, Key const >::type, T > >::type
 
using size_type = size_t
 
using hasher = Hash
 
using key_equal = KeyEqual
 
using Self = Table< IsFlat, MaxLoadFactor100, key_type, mapped_type, hasher, key_equal >
 
using iterator = Iter< false >
 
using const_iterator = Iter< true >
 

Public Member Functions

 Table () noexcept(noexcept(Hash()) &&noexcept(KeyEqual()))
 
 Table (size_t ROBIN_HOOD_UNUSED(bucket_count), const Hash &h=Hash{}, const KeyEqual &equal=KeyEqual{}) noexcept(noexcept(Hash(h)) &&noexcept(KeyEqual(equal)))
 
template<typename Iter >
 Table (Iter first, Iter last, size_t ROBIN_HOOD_UNUSED(bucket_count)=0, const Hash &h=Hash{}, const KeyEqual &equal=KeyEqual{})
 
 Table (std::initializer_list< value_type > initlist, size_t ROBIN_HOOD_UNUSED(bucket_count)=0, const Hash &h=Hash{}, const KeyEqual &equal=KeyEqual{})
 
 Table (Table &&o) noexcept
 
Tableoperator= (Table &&o) noexcept
 
 Table (const Table &o)
 
Tableoperator= (Table const &o)
 
void swap (Table &o)
 
void clear ()
 
 ~Table ()
 
bool operator== (const Table &other) const
 
bool operator!= (const Table &other) const
 
template<typename Q = mapped_type>
std::enable_if<!std::is_void< Q >::value, Q & >::type operator[] (const key_type &key)
 
template<typename Q = mapped_type>
std::enable_if<!std::is_void< Q >::value, Q & >::type operator[] (key_type &&key)
 
template<typename Iter >
void insert (Iter first, Iter last)
 
void insert (std::initializer_list< value_type > ilist)
 
template<typename... Args>
std::pair< iterator, bool > emplace (Args &&... args)
 
template<typename... Args>
iterator emplace_hint (const_iterator position, Args &&... args)
 
template<typename... Args>
std::pair< iterator, bool > try_emplace (const key_type &key, Args &&... args)
 
template<typename... Args>
std::pair< iterator, bool > try_emplace (key_type &&key, Args &&... args)
 
template<typename... Args>
iterator try_emplace (const_iterator hint, const key_type &key, Args &&... args)
 
template<typename... Args>
iterator try_emplace (const_iterator hint, key_type &&key, Args &&... args)
 
template<typename Mapped >
std::pair< iterator, bool > insert_or_assign (const key_type &key, Mapped &&obj)
 
template<typename Mapped >
std::pair< iterator, bool > insert_or_assign (key_type &&key, Mapped &&obj)
 
template<typename Mapped >
iterator insert_or_assign (const_iterator hint, const key_type &key, Mapped &&obj)
 
template<typename Mapped >
iterator insert_or_assign (const_iterator hint, key_type &&key, Mapped &&obj)
 
std::pair< iterator, bool > insert (const value_type &keyval)
 
iterator insert (const_iterator hint, const value_type &keyval)
 
std::pair< iterator, bool > insert (value_type &&keyval)
 
iterator insert (const_iterator hint, value_type &&keyval)
 
size_t count (const key_type &key) const
 
template<typename OtherKey , typename Self_ = Self>
std::enable_if< Self_::is_transparent, size_t >::type count (const OtherKey &key) const
 
bool contains (const key_type &key) const
 
template<typename OtherKey , typename Self_ = Self>
std::enable_if< Self_::is_transparent, bool >::type contains (const OtherKey &key) const
 
template<typename Q = mapped_type>
std::enable_if<!std::is_void< Q >::value, Q & >::type at (key_type const &key)
 
template<typename Q = mapped_type>
std::enable_if<!std::is_void< Q >::value, Qconst & >::type at (key_type const &key) const
 
const_iterator find (const key_type &key) const
 
template<typename OtherKey >
const_iterator find (const OtherKey &key, is_transparent_tag) const
 
template<typename OtherKey , typename Self_ = Self>
std::enable_if< Self_::is_transparent, const_iterator >::type find (const OtherKey &key) const
 
iterator find (const key_type &key)
 
template<typename OtherKey >
iterator find (const OtherKey &key, is_transparent_tag)
 
template<typename OtherKey , typename Self_ = Self>
std::enable_if< Self_::is_transparent, iterator >::type find (const OtherKey &key)
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
iterator end ()
 
const_iterator end () const
 
const_iterator cend () const
 
iterator erase (const_iterator pos)
 
iterator erase (iterator pos)
 
size_t erase (const key_type &key)
 
void rehash (size_t c)
 
void reserve (size_t c)
 
void compact ()
 
size_type size () const noexcept
 
size_type max_size () const noexcept
 
 ROBIN_HOOD (NODISCARD) bool empty() const noexcept
 
float max_load_factor () const noexcept
 
float load_factor () const noexcept
 
 ROBIN_HOOD (NODISCARD) size_t mask() const noexcept
 
 ROBIN_HOOD (NODISCARD) size_t calcMaxNumElementsAllowed(size_t maxElements) const noexcept
 
 ROBIN_HOOD (NODISCARD) size_t calcNumBytesInfo(size_t numElements) const noexcept
 
size_t calcNumElementsWithBuffer (size_t numElements) const noexcept
 
 ROBIN_HOOD (NODISCARD) size_t calcNumBytesTotal(size_t numElements) const
 
- Public Member Functions inherited from robin_hood::detail::WrapHash< Hash >
 WrapHash ()=default
 
 WrapHash (Hash const &o) noexcept(noexcept(Hash(std::declval< Hash const & >())))
 
- Public Member Functions inherited from robin_hood::detail::WrapKeyEqual< KeyEqual >
 WrapKeyEqual ()=default
 
 WrapKeyEqual (KeyEqual const &o) noexcept(noexcept(KeyEqual(std::declval< KeyEqual const & >())))
 

Static Public Attributes

static constexpr bool is_flat = IsFlat
 
static constexpr bool is_map = !std::is_void<T>::value
 
static constexpr bool is_set = !is_map
 
static constexpr bool is_transparent
 

Member Typedef Documentation

◆ const_iterator

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

◆ hasher

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::hasher = Hash

◆ iterator

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

◆ key_equal

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::key_equal = KeyEqual

◆ key_type

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::key_type = Key

◆ mapped_type

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::mapped_type = T

◆ Self

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Self = Table<IsFlat, MaxLoadFactor100, key_type, mapped_type, hasher, key_equal>

◆ size_type

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::size_type = size_t

◆ value_type

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
using robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::value_type = typename std::conditional< is_set, Key, robin_hood::pair<typename std::conditional<is_flat, Key, Key const>::type, T> >::type

Constructor & Destructor Documentation

◆ Table() [1/6]

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

◆ Table() [2/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Table ( size_t   ROBIN_HOOD_UNUSEDbucket_count,
const Hash &  h = Hash{},
const KeyEqual &  equal = KeyEqual{} 
)
inlineexplicitnoexcept

◆ Table() [3/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Iter >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Table ( Iter  first,
Iter  last,
size_t   ROBIN_HOOD_UNUSEDbucket_count = 0,
const Hash &  h = Hash{},
const KeyEqual &  equal = KeyEqual{} 
)
inline

◆ Table() [4/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Table ( std::initializer_list< value_type initlist,
size_t   ROBIN_HOOD_UNUSEDbucket_count = 0,
const Hash &  h = Hash{},
const KeyEqual &  equal = KeyEqual{} 
)
inline

◆ Table() [5/6]

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

◆ Table() [6/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::Table ( const Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual > &  o)
inline
Here is the call graph for this function:

◆ ~Table()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::~Table ( )
inline

Member Function Documentation

◆ at() [1/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Q = mapped_type>
std::enable_if<!std::is_void< Q >::value, Q & >::type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::at ( key_type const &  key)
inline
Here is the caller graph for this function:

◆ at() [2/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Q = mapped_type>
std::enable_if<!std::is_void< Q >::value, Qconst & >::type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::at ( key_type const &  key) const
inline

◆ begin() [1/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::begin ( )
inline
Here is the call graph for this function:

◆ begin() [2/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
const_iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::begin ( ) const
inline
Here is the call graph for this function:

◆ calcNumElementsWithBuffer()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
size_t robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::calcNumElementsWithBuffer ( size_t  numElements) const
inlinenoexcept
Here is the caller graph for this function:

◆ cbegin()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
const_iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::cbegin ( ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cend()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
const_iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::cend ( ) const
inline
Here is the caller graph for this function:

◆ clear()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
void robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::clear ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compact()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
void robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::compact ( )
inline

◆ contains() [1/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
bool robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::contains ( const key_type key) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ contains() [2/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename OtherKey , typename Self_ = Self>
std::enable_if< Self_::is_transparent, bool >::type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::contains ( const OtherKey &  key) const
inline
Here is the call graph for this function:

◆ count() [1/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
size_t robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::count ( const key_type key) const
inline
Here is the caller graph for this function:

◆ count() [2/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename OtherKey , typename Self_ = Self>
std::enable_if< Self_::is_transparent, size_t >::type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::count ( const OtherKey &  key) const
inline

◆ emplace()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename... Args>
std::pair< iterator, bool > robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::emplace ( Args &&...  args)
inline
Here is the caller graph for this function:

◆ emplace_hint()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename... Args>
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::emplace_hint ( const_iterator  position,
Args &&...  args 
)
inline
Here is the call graph for this function:

◆ end() [1/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::end ( )
inline
Here is the caller graph for this function:

◆ end() [2/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
const_iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::end ( ) const
inline
Here is the call graph for this function:

◆ erase() [1/3]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
size_t robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::erase ( const key_type key)
inline

◆ erase() [2/3]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::erase ( const_iterator  pos)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ erase() [3/3]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::erase ( iterator  pos)
inline

◆ find() [1/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::find ( const key_type key)
inline

◆ find() [2/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
const_iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::find ( const key_type key) const
inline

◆ find() [3/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename OtherKey , typename Self_ = Self>
std::enable_if< Self_::is_transparent, iterator >::type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::find ( const OtherKey &  key)
inline

◆ find() [4/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename OtherKey , typename Self_ = Self>
std::enable_if< Self_::is_transparent, const_iterator >::type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::find ( const OtherKey &  key) const
inline

◆ find() [5/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename OtherKey >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::find ( const OtherKey &  key,
is_transparent_tag   
)
inline

◆ find() [6/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename OtherKey >
const_iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::find ( const OtherKey &  key,
is_transparent_tag   
) const
inline

◆ insert() [1/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
std::pair< iterator, bool > robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert ( const value_type keyval)
inline
Here is the call graph for this function:

◆ insert() [2/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert ( const_iterator  hint,
const value_type keyval 
)
inline
Here is the call graph for this function:

◆ insert() [3/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert ( const_iterator  hint,
value_type &&  keyval 
)
inline
Here is the call graph for this function:

◆ insert() [4/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Iter >
void robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert ( Iter  first,
Iter  last 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert() [5/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
void robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert ( std::initializer_list< value_type ilist)
inline
Here is the call graph for this function:

◆ insert() [6/6]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
std::pair< iterator, bool > robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert ( value_type &&  keyval)
inline
Here is the call graph for this function:

◆ insert_or_assign() [1/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Mapped >
std::pair< iterator, bool > robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert_or_assign ( const key_type key,
Mapped &&  obj 
)
inline

◆ insert_or_assign() [2/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Mapped >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert_or_assign ( const_iterator  hint,
const key_type key,
Mapped &&  obj 
)
inline

◆ insert_or_assign() [3/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Mapped >
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert_or_assign ( const_iterator  hint,
key_type &&  key,
Mapped &&  obj 
)
inline

◆ insert_or_assign() [4/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Mapped >
std::pair< iterator, bool > robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::insert_or_assign ( key_type &&  key,
Mapped &&  obj 
)
inline

◆ load_factor()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
float robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::load_factor ( ) const
inlinenoexcept
Here is the call graph for this function:

◆ max_load_factor()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
float robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::max_load_factor ( ) const
inlinenoexcept

◆ max_size()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
size_type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::max_size ( ) const
inlinenoexcept

◆ operator!=()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
bool robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::operator!= ( const Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual > &  other) const
inline
Here is the call graph for this function:

◆ operator=() [1/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
Table & robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::operator= ( Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual > &&  o)
inlinenoexcept
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 >
Table & robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::operator= ( Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual > const &  o)
inline
Here is the call graph for this function:

◆ operator==()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
bool robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::operator== ( const Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual > &  other) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator[]() [1/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Q = mapped_type>
std::enable_if<!std::is_void< Q >::value, Q & >::type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::operator[] ( const key_type key)
inline

◆ operator[]() [2/2]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename Q = mapped_type>
std::enable_if<!std::is_void< Q >::value, Q & >::type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::operator[] ( key_type &&  key)
inline

◆ rehash()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
void robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::rehash ( size_t  c)
inline
Here is the call graph for this function:

◆ reserve()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
void robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::reserve ( size_t  c)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ROBIN_HOOD() [1/5]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::ROBIN_HOOD ( NODISCARD  ) const
inlinenoexcept

◆ ROBIN_HOOD() [2/5]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::ROBIN_HOOD ( NODISCARD  ) const
inlinenoexcept

◆ ROBIN_HOOD() [3/5]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::ROBIN_HOOD ( NODISCARD  ) const
inlinenoexcept

◆ ROBIN_HOOD() [4/5]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::ROBIN_HOOD ( NODISCARD  ) const
inline

◆ ROBIN_HOOD() [5/5]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::ROBIN_HOOD ( NODISCARD  ) const
inlinenoexcept

◆ size()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
size_type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::size ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ swap()

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
void robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::swap ( Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual > &  o)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ try_emplace() [1/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename... Args>
std::pair< iterator, bool > robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::try_emplace ( const key_type key,
Args &&...  args 
)
inline
Here is the caller graph for this function:

◆ try_emplace() [2/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename... Args>
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::try_emplace ( const_iterator  hint,
const key_type key,
Args &&...  args 
)
inline

◆ try_emplace() [3/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename... Args>
iterator robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::try_emplace ( const_iterator  hint,
key_type &&  key,
Args &&...  args 
)
inline

◆ try_emplace() [4/4]

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
template<typename... Args>
std::pair< iterator, bool > robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::try_emplace ( key_type &&  key,
Args &&...  args 
)
inline

Member Data Documentation

◆ is_flat

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
constexpr bool robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::is_flat = IsFlat
staticconstexpr

◆ is_map

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
constexpr bool robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::is_map = !std::is_void<T>::value
staticconstexpr

◆ is_set

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
constexpr bool robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::is_set = !is_map
staticconstexpr

◆ is_transparent

template<bool IsFlat, size_t MaxLoadFactor100, typename Key , typename T , typename Hash , typename KeyEqual >
constexpr bool robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::is_transparent
staticconstexpr
Initial value:
=
has_is_transparent<Hash>::value && has_is_transparent<KeyEqual>::value

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