Gaia-ECS v0.9.3
A simple and powerful entity component system
Loading...
Searching...
No Matches
robin_hood::detail::Table< IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual > Class Template Reference
+ Inheritance 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 (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 ()
 
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)
 
GAIA_NODISCARD size_t count (const key_type &key) const
 
template<typename OtherKey , typename Self_ = Self>
GAIA_NODISCARD std::enable_if< Self_::is_transparent, size_t >::type count (const OtherKey &key) const
 
GAIA_NODISCARD bool contains (const key_type &key) const
 
template<typename OtherKey , typename Self_ = Self>
GAIA_NODISCARD std::enable_if< Self_::is_transparent, bool >::type contains (const OtherKey &key) const
 
template<typename Q = mapped_type>
GAIA_NODISCARD std::enable_if<!std::is_void< Q >::value, Q & >::type at (key_type const &key)
 
template<typename Q = mapped_type>
GAIA_NODISCARD std::enable_if<!std::is_void< Q >::value, Qconst & >::type at (key_type const &key) const
 
GAIA_NODISCARD const_iterator find (const key_type &key) const
 
template<typename OtherKey >
GAIA_NODISCARD const_iterator find (const OtherKey &key, is_transparent_tag) const
 
template<typename OtherKey , typename Self_ = Self>
GAIA_NODISCARD std::enable_if< Self_::is_transparent, const_iterator >::type find (const OtherKey &key) const
 
GAIA_NODISCARD iterator find (const key_type &key)
 
template<typename OtherKey >
GAIA_NODISCARD iterator find (const OtherKey &key, is_transparent_tag)
 
template<typename OtherKey , typename Self_ = Self>
GAIA_NODISCARD std::enable_if< Self_::is_transparent, iterator >::type find (const OtherKey &key)
 
GAIA_NODISCARD iterator begin ()
 
GAIA_NODISCARD const_iterator begin () const
 
GAIA_NODISCARD const_iterator cbegin () const
 
GAIA_NODISCARD iterator end ()
 
GAIA_NODISCARD const_iterator end () const
 
GAIA_NODISCARD 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 ()
 
constexpr uint32_t bytes () const noexcept
 
template<typename Serializer >
void save (Serializer &s) const
 
template<typename Serializer >
void load (Serializer &s)
 
GAIA_NODISCARD size_type capacity () const noexcept
 
GAIA_NODISCARD size_type size () const noexcept
 
GAIA_NODISCARD size_type max_size () const noexcept
 
GAIA_NODISCARD bool empty () const noexcept
 
GAIA_NODISCARD float max_load_factor () const noexcept
 
GAIA_NODISCARD float load_factor () const noexcept
 
GAIA_NODISCARD size_t mask () const noexcept
 
GAIA_NODISCARD size_t calcMaxNumElementsAllowed (size_t maxElements) const noexcept
 
GAIA_NODISCARD size_t calcNumBytesInfo (size_t numElements) const noexcept
 
GAIA_NODISCARD size_t calcNumElementsWithBuffer (size_t numElements) const noexcept
 
GAIA_NODISCARD size_t calcNumBytesTotal (size_t numElements) const
 
- Public Member Functions inherited from robin_hood::detail::WrapHash< Hash >
 WrapHash (Hash const &o) noexcept(noexcept(Hash(std::declval< Hash const & >())))
 
- Public Member Functions inherited from robin_hood::detail::WrapKeyEqual< KeyEqual >
 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 = has_is_transparent<Hash>::value && has_is_transparent<KeyEqual>::value
 

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