12template<
typename T,
typename Alloc = Allocator>
38 [[nodiscard]]
size_t count()
const
40 return _buffer.size() /
sizeof(T);
46 [[nodiscard]]
size_t size()
const
48 return _buffer.size() /
sizeof(T);
64 return *
static_cast<T*
>(
_buffer.data(
sizeof(T) * i));
70 explicit operator T*()
72 return static_cast<T*
>(
_buffer.data());
78 explicit operator T*()
const
80 return static_cast<T*
>(
_buffer.data());
86 operator const void*()
const
88 return static_cast<void*
>(
_buffer.data());
96 return static_cast<void*
>(
_buffer.data());
104 void resize(
size_t sz,
bool shrink =
false)
106 _buffer.resize(
sizeof(T) * sz, shrink);
A dynamic buffer as typed array. Has range check on any index.
Definition TDynamicArray.h:14
TDynamicBuffer< Alloc > & getBuffer()
Gets access to the underlying buffer.
Definition TDynamicArray.h:136
void grow(size_t sz)
Grows the array to the specified size but keeps the current data intact.
Definition TDynamicArray.h:112
size_t size() const
Returns the size of the array.
Definition TDynamicArray.h:46
TDynamicArray(const TDynamicBuffer< Alloc > &buf)
Dynamic array constructor.
Definition TDynamicArray.h:24
T & operator[](size_t i)
Returns reference of the specified index.
Definition TDynamicArray.h:62
void * data()
Returns a typed pointer to the start of the array.
Definition TDynamicArray.h:54
TDynamicArray()=default
Default constructor.
void zero()
Zeroes all data.
Definition TDynamicArray.h:120
void resize(size_t sz, bool shrink=false)
Resizes the array but does leave the data in tact.
Definition TDynamicArray.h:104
size_t count() const
Returns the size of the array.
Definition TDynamicArray.h:38
TDynamicArray(size_t sz)
Initialization constructor.
Definition TDynamicArray.h:31
TDynamicBuffer< Alloc > _buffer
Holds the underlying storage buffer.
Definition TDynamicArray.h:145
Template for creating a dynamic buffer using an allocator.
Definition TDynamicBuffer.h:57
Definition Application.h:10