Blender
V3.3
|
#include <BLI_set_slots.hh>
Public Member Functions | |
HashedSetSlot () | |
~HashedSetSlot () | |
HashedSetSlot (const HashedSetSlot &other) | |
HashedSetSlot (HashedSetSlot &&other) noexcept(std::is_nothrow_move_constructible_v< Key >) | |
Key * | key () |
const Key * | key () const |
bool | is_occupied () const |
bool | is_empty () const |
template<typename Hash > | |
uint64_t | get_hash (const Hash &UNUSED(hash)) const |
template<typename ForwardKey , typename IsEqual > | |
bool | contains (const ForwardKey &key, const IsEqual &is_equal, const uint64_t hash) const |
template<typename ForwardKey > | |
void | occupy (ForwardKey &&key, const uint64_t hash) |
void | remove () |
This set slot implementation stores the hash of the key within the slot. This helps when computing the hash or an equality check is expensive.
Definition at line 166 of file BLI_set_slots.hh.
|
inline |
Definition at line 179 of file BLI_set_slots.hh.
|
inline |
Definition at line 184 of file BLI_set_slots.hh.
References blender::TypedBuffer< T, Size >::ref().
|
inline |
Definition at line 191 of file BLI_set_slots.hh.
|
inlinenoexcept |
Definition at line 200 of file BLI_set_slots.hh.
|
inline |
Definition at line 236 of file BLI_set_slots.hh.
References hash, and blender::HashedSetSlot< Key >::key().
|
inline |
Definition at line 229 of file BLI_set_slots.hh.
References BLI_assert, and blender::HashedSetSlot< Key >::is_occupied().
|
inline |
Definition at line 224 of file BLI_set_slots.hh.
|
inline |
Definition at line 219 of file BLI_set_slots.hh.
Referenced by blender::HashedSetSlot< Key >::get_hash(), blender::HashedSetSlot< Key >::occupy(), and blender::HashedSetSlot< Key >::remove().
|
inline |
Definition at line 209 of file BLI_set_slots.hh.
Referenced by blender::HashedSetSlot< Key >::contains(), and blender::HashedSetSlot< Key >::occupy().
|
inline |
Definition at line 214 of file BLI_set_slots.hh.
|
inline |
Definition at line 247 of file BLI_set_slots.hh.
References BLI_assert, hash, blender::HashedSetSlot< Key >::is_occupied(), and blender::HashedSetSlot< Key >::key().
|
inline |
Definition at line 255 of file BLI_set_slots.hh.
References BLI_assert, blender::HashedSetSlot< Key >::is_occupied(), and blender::TypedBuffer< T, Size >::ref().