Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::Containers::DynamicArray< T, AllocatorType > Class Template Reference

Public Types

using Iterator = ArrayIterator<T>
 
using ConstIterator = ConstArrayIterator<T>
 
using ReverseIterator = ReverseArrayIterator<T>
 
using ConstReverseIterator = ConstArrayIterator<T>
 

Public Member Functions

 DynamicArray (AllocatorType *allocator, std::initializer_list< T > list)
 
 DynamicArray (const DynamicArray &other)
 
 DynamicArray (DynamicArray &&other) noexcept
 
DynamicArrayoperator= (const DynamicArray &other)
 
DynamicArrayoperator= (DynamicArray &&other)
 
 operator Grindstone::Containers::Span< T > ()
 
Grindstone::Containers::Span< T > GetSpan (size_t index, size_t size)
 
void Resize (size_t newSize)
 
void ReserveToExact (size_t newCapacity)
 
void ReserveToAtLeast (size_t newCapacity)
 
void ReserveMoreExact (size_t addedCapacity)
 
void ReserveMoreAtLeast (size_t addedCapacity)
 
T & PushBack (T &&val)
 
T & PushBack (const T &val)
 
template<typename... Args>
T & EmplaceBack (Args &&... args)
 
void AppendList (std::initializer_list< T > list, size_t offset)
 
void AppendListBack (std::initializer_list< T > list)
 
const T & GetBegin () const
 
T & GetBegin ()
 
const T & GetEnd () const
 
T & GetEnd ()
 
void Remove (T &first, T &last)
 
void Remove (T &first)
 
void Remove (size_t index)
 
bool TryGet (T &outValue, size_t index)
 
size_t GetSize ()
 
size_t GetCapacity ()
 
T & operator[] (size_t index)
 
const T & operator[] (size_t index) const
 
constexpr Iterator begin () noexcept
 
constexpr ConstIterator begin () const noexcept
 
constexpr Iterator end () noexcept
 
constexpr ConstIterator end () const noexcept
 
constexpr ReverseIterator rbegin () noexcept
 
constexpr ConstReverseIterator rbegin () const noexcept
 
constexpr ReverseIterator rend () noexcept
 
constexpr ConstReverseIterator rend () const noexcept
 
constexpr ConstIterator cbegin () const noexcept
 
constexpr ConstIterator cend () const noexcept
 
constexpr ConstReverseIterator crbegin () const noexcept
 
constexpr ConstReverseIterator crend () const noexcept
 

Static Public Member Functions

static DynamicArray CreateExactReserved (size_t initialCapacity)
 
static DynamicArray CreateExactInitialized (size_t initialSize)
 
static DynamicArray CreateReservedWithAtLeast (size_t minimumInitialCapacity)
 
static DynamicArray CreateInitializedWithAtLeast (size_t initialSize)
 

Protected Member Functions

 DynamicArray (size_t initialCapacity, size_t initialSize)
 
void IncrementAndResize ()
 
void ResizeBuffer (size_t newCapacity)
 
size_t GetPushOneCapacity () const
 
size_t GetRequestCapacity (size_t requestedCapacity) const
 
T * Allocate (size_t cap)
 

Static Protected Member Functions

static size_t GetStaticRequestCapacity (size_t requestedCapacity)
 

Protected Attributes

AllocatorType * allocator = nullptr
 
size_t capacity = 0
 
size_t size = 0
 
T * contents = nullptr
 

The documentation for this class was generated from the following file: