58 static const T zero{};
#define BB_ASSERT_GTE(left, right,...)
#define ASSERT_DEBUG(expression,...)
A shared pointer array template that represents a virtual array filled with zeros up to virtual_size_...
T & operator[](size_t index)
size_t start_
The starting index of the memory-backed range.
BackingMemory< T > backing_memory_
The underlying memory storage.
void increase_virtual_size(const size_t new_virtual_size)
T * data()
Returns a pointer to the underlying memory array. NOTE: This should be used with care,...
const T & operator[](size_t index) const
const T & get(size_t index, size_t virtual_padding=0) const
Retrieves the value at the specified index, or 'zero'. Optimizes for e.g. 256-bit fields by storing a...
void set(size_t index, const T &value)
Sets the value at the specified index.
size_t virtual_size() const
size_t virtual_size_
The total logical size of the array.
size_t end_
The ending index of the memory-backed range.