|
RADLib
RADical C++ application framework
|
Cache-conscious container primitives for RADLib internals and advanced users. More...
#include <RADCore/RADLicenseGate.h>#include <algorithm>#include <atomic>#include <cstddef>#include <cstdint>#include <cstdlib>#include <cstring>#include <functional>#include <initializer_list>#include <iterator>#include <limits>#include <memory>#include <new>#include <optional>#include <stdexcept>#include <type_traits>#include <utility>#include <vector>
Include dependency graph for RADDataStructures.h:Go to the source code of this file.
Classes | |
| class | RADData::RADArrayView< T > |
| Non-owning contiguous view over T values. More... | |
| class | RADData::RADByteArray |
| Owning byte array with lightweight append/view helpers. More... | |
| class | RADData::RADMonotonicArena |
| Simple monotonic arena for short-lived allocations. More... | |
| class | RADData::RADFixedPool |
| Fixed-size block pool for high-frequency same-size allocations. More... | |
| class | RADData::RADMonotonicAllocator< T > |
| Standard-compatible allocator backed by RADMonotonicArena. More... | |
| struct | RADData::RADMonotonicAllocator< T >::rebind< U > |
| Rebinds the allocator to another value type. More... | |
| class | RADData::RADAlignedAllocator< T, Alignment > |
| Standard-compatible aligned allocator. More... | |
| struct | RADData::RADAlignedAllocator< T, Alignment >::rebind< U > |
| Rebinds the allocator to another value type. More... | |
| class | RADData::RADVector< T, Alloc > |
| Contiguous dynamic array optimized for RADLib hot paths. More... | |
| class | RADData::RADSmallVector< T, InlineN, Alloc > |
| Vector with InlineN elements of inline storage before heap allocation. More... | |
| class | RADData::RADRingBuffer< T, Alloc > |
| Power-of-two circular buffer with push/pop at both ends. More... | |
| class | RADData::RADRingBuffer< T, Alloc >::iterator |
| Forward iterator over logical ring order. More... | |
| class | RADData::RADRingBuffer< T, Alloc >::const_iterator |
| Const forward iterator over logical ring order. More... | |
| class | RADData::RADQueue< T, Alloc > |
| FIFO queue adapter backed by RADRingBuffer. More... | |
| class | RADData::RADStack< T, Alloc > |
| LIFO stack adapter backed by RADVector. More... | |
| class | RADData::RADSpscQueue< T > |
| Lock-free single-producer/single-consumer bounded queue. More... | |
| class | RADData::RADFlatHashMap< K, V, Hash, Eq > |
| Open-addressed flat hash map optimized for cache-local lookups. More... | |
| class | RADData::RADFlatHashMap< K, V, Hash, Eq >::iterator |
| Forward iterator over occupied map entries. More... | |
| class | RADData::RADFlatHashMap< K, V, Hash, Eq >::const_iterator |
| Const forward iterator over occupied map entries. More... | |
| class | RADData::RADFlatHashSet< K, Hash, Eq > |
| Flat hash set implemented on top of RADFlatHashMap. More... | |
| class | RADData::RADList< T, Alloc > |
| Stable-node doubly linked list for cases where node stability matters. More... | |
| class | RADData::RADList< T, Alloc >::iterator |
| Mutable bidirectional iterator. More... | |
| class | RADData::RADList< T, Alloc >::const_iterator |
| Const forward iterator. More... | |
Namespaces | |
| RADData | |
| RADData::Detail | |
| Internal implementation details for RADData containers. | |
Typedefs | |
| using | RADData::RADByteArrayView = RADArrayView< uint8_t > |
| Mutable byte view. More... | |
| using | RADData::RADConstByteArrayView = RADArrayView< const uint8_t > |
| Const byte view. More... | |
Functions | |
| constexpr size_t | RADData::Detail::nextPowerOfTwo (size_t value) |
| Returns the next power-of-two capacity at least as large as value. More... | |
| template<typename T , typename U > | |
| bool | RADData::operator== (const RADMonotonicAllocator< T > &lhs, const RADMonotonicAllocator< U > &rhs) |
| Compares monotonic allocators by backing arena. More... | |
| template<typename T , typename U > | |
| bool | RADData::operator!= (const RADMonotonicAllocator< T > &lhs, const RADMonotonicAllocator< U > &rhs) |
| Compares monotonic allocators by backing arena. More... | |
| template<typename T , size_t A, typename U , size_t B> | |
| bool | RADData::operator== (const RADAlignedAllocator< T, A > &, const RADAlignedAllocator< U, B > &) |
| Compares aligned allocators by alignment value. More... | |
| template<typename T , size_t A, typename U , size_t B> | |
| bool | RADData::operator!= (const RADAlignedAllocator< T, A > &lhs, const RADAlignedAllocator< U, B > &rhs) |
| Compares aligned allocators by alignment value. More... | |
Cache-conscious container primitives for RADLib internals and advanced users.