file
GrowableArray.hClass Death::
See Growable arrays for more information.
Namespaces
- namespace Death
- Shared root namespace.
- namespace Death::Containers
- Container implementations.
Classes
-
template<class T>struct Death::Containers::ArrayNewAllocator
- New-based allocator for growable arrays.
-
template<class T>struct Death::Containers::ArrayMallocAllocator
- Malloc-based allocator for growable arrays.
-
template<class T>struct Death::Containers::ArrayAllocator
- Allocator for growable arrays.
Functions
-
template<class U, class T>auto arrayAllocatorCast(Array<T>&& array) -> Array<U>
- Reinterpret-cast a growable array.
-
template<class U, template<class> class Allocator, class T>auto arrayAllocatorCast(Array<T>&& array) -> Array<U>
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayIsGrowable(Array<T>& array) -> bool
- Whether an array is growable.
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayCapacity(Array<T>& array) -> std::
size_t - Array capacity.
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayReserve(Array<T>& array, std::
size_t capacity) -> std:: size_t - Reserve given capacity in an array.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayResize(Array<T>& array, DefaultInitT, std::
size_t size) - Resize an array to given size, default-initializing new elements.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayResize(Array<T>& array, ValueInitT, std::
size_t size) - Resize an array to given size, value-initializing new elements.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayResize(Array<T>& array, std::
size_t size) - Resize an array to given size, value-initializing new elements.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayResize(Array<T>& array, NoInitT, std::
size_t size) - Resize an array to given size, keeping new elements uninitialized.
-
template<class T, class ... Args>void arrayResize(Array<T>& array, DirectInitT, std::
size_t size, Args && ... args) - Resize an array to given size, constructing new elements using provided arguments.
-
template<class T, class Allocator, class ... Args>void arrayResize(Array<T>& array, DirectInitT, std::
size_t size, Args && ... args) -
template<class T, class Allocator = ArrayAllocator<T>>void arrayResize(Array<T>& array, std::
size_t size, const typename std:: common_type<T>::type& value) - Resize an array to given size, copy-constructing new elements using the provided value.
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayAppend(Array<T>& array, const typename std::
common_type<T>::type& value) -> T& - Copy-append an item to an array.
-
template<class T, class ... Args>auto arrayAppend(Array<T>& array, InPlaceInitT, Args && ... args) -> T&
- In-place append an item to an array.
-
template<class T, class Allocator, class ... Args>auto arrayAppend(Array<T>& array, InPlaceInitT, Args && ... args) -> T&
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayAppend(Array<T>& array, typename std::
common_type<T>::type&& value) -> T& - Move-append an item to an array.
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayAppend(Array<T>& array, typename std::
common_type<ArrayView<const T>>::type values) -> ArrayView<T> - Copy-append a list of items to an array.
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayAppend(Array<T>& array, std::
initializer_list<typename std:: common_type<T>::type> values) -> ArrayView<T> -
template<class T, class Allocator = ArrayAllocator<T>>auto arrayAppend(Array<T>& array, NoInitT, std::
size_t count) -> ArrayView<T> - Append given count of uninitialized values to an array.
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayInsert(Array<T>& array, std::
size_t index, const typename std:: common_type<T>::type& value) -> T& - Copy-insert an item into an array.
-
template<class T, class ... Args>auto arrayInsert(Array<T>& array, std::
size_t index, InPlaceInitT, Args && ... args) -> T& - In-place insert an item into an array.
-
template<class T, class Allocator, class ... Args>auto arrayInsert(Array<T>& array, std::
size_t index, InPlaceInitT, Args && ... args) -> T& -
template<class T, class Allocator = ArrayAllocator<T>>auto arrayInsert(Array<T>& array, std::
size_t index, typename std:: common_type<T>::type&& value) -> T& - Move-insert an item into an array.
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayInsert(Array<T>& array, std::
size_t index, typename std:: common_type<ArrayView<const T>>::type values) -> ArrayView<T> - Copy-insert a list of items into an array.
-
template<class T, class Allocator = ArrayAllocator<T>>auto arrayInsert(Array<T>& array, std::
size_t index, std:: initializer_list<typename std:: common_type<T>::type> values) -> ArrayView<T> -
template<class T, class Allocator = ArrayAllocator<T>>auto arrayInsert(Array<T>& array, std::
size_t index, NoInitT, std:: size_t count) -> ArrayView<T> - Insert given count of uninitialized values into an array.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayRemove(Array<T>& array, std::
size_t index, std:: size_t count = 1) - Remove an element from an array.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayRemoveUnordered(Array<T>& array, std::
size_t index, std:: size_t count = 1) - Remove an element from an unordered array.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayRemoveSuffix(Array<T>& array, std::
size_t count = 1) - Remove a suffix from an array.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayClear(Array<T>& array)
- Clear an array.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayShrink(Array<T>& array, NoInitT = NoInit)
- Convert an array back to non-growable.
-
template<class T, class Allocator = ArrayAllocator<T>>void arrayShrink(Array<T>& array, DefaultInitT)
- Convert an array back to non-growable using a default initialization.
-
template<template<class> class Allocator, class T>void arrayShrink(Array<T>& array)