LRez  v2.1
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 >:
Inheritance graph
[legend]
Collaboration diagram for robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >:
Collaboration graph
[legend]

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>
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>
std::pair< iterator, bool > try_emplace (const_iterator hint, const key_type &key, Args &&... args)
 
template<typename... Args>
std::pair< iterator, bool > 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 >
std::pair< iterator, bool > insert_or_assign (const_iterator hint, const key_type &key, Mapped &&obj)
 
template<typename Mapped >
std::pair< iterator, bool > insert_or_assign (const_iterator hint, key_type &&key, Mapped &&obj)
 
std::pair< iterator, bool > insert (const value_type &keyval)
 
std::pair< iterator, bool > insert (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, Q const & >::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
 

Detailed Description

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

Definition at line 908 of file robin_hood.h.

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>

Definition at line 1494 of file robin_hood.h.

◆ 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

Definition at line 929 of file robin_hood.h.

◆ 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>

Definition at line 1493 of file robin_hood.h.

◆ 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

Definition at line 930 of file robin_hood.h.

◆ 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

Definition at line 923 of file robin_hood.h.

◆ 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

Definition at line 924 of file robin_hood.h.

◆ 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>

Definition at line 931 of file robin_hood.h.

◆ 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

Definition at line 928 of file robin_hood.h.

◆ 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

Definition at line 927 of file robin_hood.h.

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

Definition at line 1496 of file robin_hood.h.

◆ 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

Definition at line 1507 of file robin_hood.h.

◆ 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

Definition at line 1516 of file robin_hood.h.

◆ 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

Definition at line 1524 of file robin_hood.h.

◆ 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

Definition at line 1533 of file robin_hood.h.

◆ 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

Definition at line 1580 of file robin_hood.h.

◆ ~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

Definition at line 1702 of file robin_hood.h.

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

Definition at line 1912 of file robin_hood.h.

◆ 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, Q const&>::type robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual >::at ( key_type const &  key) const
inline

Definition at line 1925 of file robin_hood.h.

◆ 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

Definition at line 1976 of file robin_hood.h.

◆ 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

Definition at line 1983 of file robin_hood.h.

◆ 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

Definition at line 2137 of file robin_hood.h.

◆ 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

Definition at line 1987 of file robin_hood.h.

◆ 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

Definition at line 2005 of file robin_hood.h.

◆ 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

Definition at line 1681 of file robin_hood.h.

◆ 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

Definition at line 2071 of file robin_hood.h.

◆ 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

Definition at line 1898 of file robin_hood.h.

◆ 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

Definition at line 1904 of file robin_hood.h.

◆ 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

Definition at line 1878 of file robin_hood.h.

◆ 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

Definition at line 1889 of file robin_hood.h.

◆ 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

Definition at line 1795 of file robin_hood.h.

◆ 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

Definition at line 1995 of file robin_hood.h.

◆ 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

Definition at line 2001 of file robin_hood.h.

◆ 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

Definition at line 2035 of file robin_hood.h.

◆ 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

Definition at line 2010 of file robin_hood.h.

◆ 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

Definition at line 2018 of file robin_hood.h.

◆ 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

Definition at line 1956 of file robin_hood.h.

◆ 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

Definition at line 1934 of file robin_hood.h.

◆ 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

Definition at line 1970 of file robin_hood.h.

◆ 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

Definition at line 1950 of file robin_hood.h.

◆ 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

Definition at line 1963 of file robin_hood.h.

◆ 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

Definition at line 1941 of file robin_hood.h.

◆ insert() [1/4]

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

Definition at line 1868 of file robin_hood.h.

◆ insert() [2/4]

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

Definition at line 1781 of file robin_hood.h.

◆ insert() [3/4]

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

Definition at line 1788 of file robin_hood.h.

◆ insert() [4/4]

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

Definition at line 1873 of file robin_hood.h.

◆ 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

Definition at line 1846 of file robin_hood.h.

◆ insert_or_assign() [2/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_iterator  hint,
const key_type key,
Mapped &&  obj 
)
inline

Definition at line 1856 of file robin_hood.h.

◆ insert_or_assign() [3/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_iterator  hint,
key_type &&  key,
Mapped &&  obj 
)
inline

Definition at line 1863 of file robin_hood.h.

◆ 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

Definition at line 1851 of file robin_hood.h.

◆ 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

Definition at line 2111 of file robin_hood.h.

◆ 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

Definition at line 2105 of file robin_hood.h.

◆ 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

Definition at line 2095 of file robin_hood.h.

◆ 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

Definition at line 1722 of file robin_hood.h.

◆ 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

Definition at line 1552 of file robin_hood.h.

◆ 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

Definition at line 1611 of file robin_hood.h.

◆ 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

Definition at line 1708 of file robin_hood.h.

◆ 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

Definition at line 1728 of file robin_hood.h.

◆ 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

Definition at line 1754 of file robin_hood.h.

◆ 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

Definition at line 2057 of file robin_hood.h.

◆ 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

Definition at line 2064 of file robin_hood.h.

◆ 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

Definition at line 2100 of file robin_hood.h.

◆ 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

Definition at line 2121 of file robin_hood.h.

◆ 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

Definition at line 2130 of file robin_hood.h.

◆ 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

Definition at line 2143 of file robin_hood.h.

◆ 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

Definition at line 2116 of file robin_hood.h.

◆ 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

Definition at line 2090 of file robin_hood.h.

◆ 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

Definition at line 1674 of file robin_hood.h.

◆ 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

Definition at line 1823 of file robin_hood.h.

◆ try_emplace() [2/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_iterator  hint,
const key_type key,
Args &&...  args 
)
inline

Definition at line 1833 of file robin_hood.h.

◆ try_emplace() [3/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_iterator  hint,
key_type &&  key,
Args &&...  args 
)
inline

Definition at line 1840 of file robin_hood.h.

◆ 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

Definition at line 1828 of file robin_hood.h.

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

Definition at line 917 of file robin_hood.h.

◆ 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

Definition at line 918 of file robin_hood.h.

◆ 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

Definition at line 919 of file robin_hood.h.

◆ 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

Definition at line 920 of file robin_hood.h.


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