15 template<
typename K,
typename V,
typename Tombstone = V>
34 for (
size_t i = 0;
i < size;
i++)
#define CHECK_MSG(expr, format_str,...)
Definition Logging.hpp:31
Reader CreateReader()
Create a Reader for concurrent popping.
Definition Queue.hpp:180
Writer CreateWriter()
Create a Writer for concurrent pushing.
Definition Queue.hpp:138
Atomic, bounded object pool with O(1) value mapping.
Definition Pool.hpp:16
const K Pop()
Definition Pool.hpp:58
bool Contains(K key) const
Checks if the specified key exists and has a value.
Definition Pool.hpp:40
MPMCQueue< K > mKeys
Definition Pool.hpp:18
Vector< V > mValues
Definition Pool.hpp:19
const Pair< K, V & > PopPair()
Allocates a Key that returns a pair of key and value reference.
Definition Pool.hpp:68
void Free(K key)
Frees the value associated with the specified key.
Definition Pool.hpp:77
const size_t mCapacity
Definition Pool.hpp:17
V & At(K key)
Retrieves a reference to the value associated with the given key. NOTE: Calling this function with a ...
Definition Pool.hpp:47
V const & At(K key) const
Retrieves a const reference to the value associated with the given key.
Definition Pool.hpp:54
Vector< char > mBitmap
Definition Pool.hpp:22
Pool(size_t size, Allocator *alloc)
Constructs a FreeList with the specified capacity and allocator.
Definition Pool.hpp:29
General Purpose Allocator (GPA) interface.
Definition Allocator.hpp:24
Lock-free atomic primitives and implementations of data structures.
Definition Atomic.hpp:22
std::unique_ptr< T, StlDeleter< T > > UniquePtr
std::unique_ptr with custom deleter that uses a Foundation::Core::Allocator to deallocate memory.
Definition Allocator.hpp:161