51 void *buffer = allocator_.
allocate(type);
61 void *buffer = allocator_.
allocate(type);
67 template<
typename ForwardKey,
typename T>
void add_new(ForwardKey &&
key, T &&
value)
69 if constexpr (std::is_rvalue_reference_v<T>) {
91 template<
typename T,
typename ForwardKey> T
extract(
const ForwardKey &
key)
101 template<
typename T,
typename ForwardKey>
const T &
lookup(
const ForwardKey &
key)
const
106 return *(
const T *)
value.get();
109 template<
typename ForwardKey>
bool contains(
const ForwardKey &
key)
const
void copy_construct(const void *src, void *dst) const
void move_construct(void *src, void *dst) const
void relocate_assign(void *src, void *dst) const
void add_new_by_copy(ForwardKey &&key, GPointer value)
void add_new(ForwardKey &&key, T &&value)
void add_new_by_move(ForwardKey &&key, GMutablePointer value)
const T & lookup(const ForwardKey &key) const
bool contains(const ForwardKey &key) const
void add_new_direct(ForwardKey &&key, GMutablePointer value)
GPointer lookup(const ForwardKey &key) const
GMutablePointer extract(const ForwardKey &key)
GValueMap(LinearAllocator<> &allocator)
T extract(const ForwardKey &key)
void * allocate(const int64_t size, const int64_t alignment)
Value pop_as(const ForwardKey &key)
ValueIterator values() const &
void add_new_as(ForwardKey &&key, ForwardValue &&...value)
const Value & lookup_as(const ForwardKey &key) const
bool contains_as(const ForwardKey &key) const