RADLib
RADical C++ application framework
RADData Namespace Reference

Namespaces

 Detail
 Internal implementation details for RADData containers.
 

Classes

class  RADArrayView
 Non-owning contiguous view over T values. More...
 
class  RADByteArray
 Owning byte array with lightweight append/view helpers. More...
 
class  RADMonotonicArena
 Simple monotonic arena for short-lived allocations. More...
 
class  RADFixedPool
 Fixed-size block pool for high-frequency same-size allocations. More...
 
class  RADMonotonicAllocator
 Standard-compatible allocator backed by RADMonotonicArena. More...
 
class  RADAlignedAllocator
 Standard-compatible aligned allocator. More...
 
class  RADVector
 Contiguous dynamic array optimized for RADLib hot paths. More...
 
class  RADSmallVector
 Vector with InlineN elements of inline storage before heap allocation. More...
 
class  RADRingBuffer
 Power-of-two circular buffer with push/pop at both ends. More...
 
class  RADQueue
 FIFO queue adapter backed by RADRingBuffer. More...
 
class  RADStack
 LIFO stack adapter backed by RADVector. More...
 
class  RADSpscQueue
 Lock-free single-producer/single-consumer bounded queue. More...
 
class  RADFlatHashMap
 Open-addressed flat hash map optimized for cache-local lookups. More...
 
class  RADFlatHashSet
 Flat hash set implemented on top of RADFlatHashMap. More...
 
class  RADList
 Stable-node doubly linked list for cases where node stability matters. More...
 

Typedefs

using RADByteArrayView = RADArrayView< uint8_t >
 Mutable byte view. More...
 
using RADConstByteArrayView = RADArrayView< const uint8_t >
 Const byte view. More...
 

Functions

template<typename T , typename U >
bool operator== (const RADMonotonicAllocator< T > &lhs, const RADMonotonicAllocator< U > &rhs)
 Compares monotonic allocators by backing arena. More...
 
template<typename T , typename U >
bool 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 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 operator!= (const RADAlignedAllocator< T, A > &lhs, const RADAlignedAllocator< U, B > &rhs)
 Compares aligned allocators by alignment value. More...
 

Typedef Documentation

◆ RADByteArrayView

using RADData::RADByteArrayView = typedef RADArrayView<uint8_t>

Mutable byte view.

◆ RADConstByteArrayView

using RADData::RADConstByteArrayView = typedef RADArrayView<const uint8_t>

Const byte view.

Function Documentation

◆ operator!=() [1/2]

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.

◆ operator!=() [2/2]

template<typename T , typename U >
bool RADData::operator!= ( const RADMonotonicAllocator< T > &  lhs,
const RADMonotonicAllocator< U > &  rhs 
)

Compares monotonic allocators by backing arena.

◆ operator==() [1/2]

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.

◆ operator==() [2/2]

template<typename T , typename U >
bool RADData::operator== ( const RADMonotonicAllocator< T > &  lhs,
const RADMonotonicAllocator< U > &  rhs 
)

Compares monotonic allocators by backing arena.