Corrade/Containers/GrowableArray.h file new in 2020.06

Class Corrade::Containers::ArrayAllocator, Corrade::Containers::ArrayNewAllocator, Corrade::Containers::ArrayMallocAllocator, function Corrade::Containers::arrayAllocatorCast(), Corrade::Containers::arrayIsGrowable(), Corrade::Containers::arrayCapacity(), Corrade::Containers::arrayReserve(), Corrade::Containers::arrayResize(), Corrade::Containers::arrayAppend(), Corrade::Containers::arrayInsert(), Corrade::Containers::arrayRemove(), Corrade::Containers::arrayRemoveUnordered(), Corrade::Containers::arrayRemoveSuffix(), Corrade::Containers::arrayShrink()

See Growable arrays for more information.

Namespaces

namespace Corrade
Root namespace.
namespace Corrade::Containers
Container implementations.

Classes

template<class T>
struct Corrade::Containers::ArrayNewAllocator new in 2020.06
New-based allocator for growable arrays.
template<class T>
struct Corrade::Containers::ArrayMallocAllocator new in 2020.06
Malloc-based allocator for growable arrays.
template<class T>
struct Corrade::Containers::ArrayAllocator new in 2020.06
Allocator for growable arrays.

Growable array utilities

See Growable arrays for more information.

template<class U, class T>
auto arrayAllocatorCast(Array<T>&& array) -> Array<U> new in 2020.06
Reinterpret-cast a growable array.
template<class U, template<class> class Allocator, class T>
auto arrayAllocatorCast(Array<T>&& array) -> Array<U> new in 2020.06
template<class T, class Allocator = ArrayAllocator<T>>
auto arrayIsGrowable(Array<T>& array) -> bool new in 2020.06
Whether an array is growable.
template<class T, class Allocator = ArrayAllocator<T>>
auto arrayCapacity(Array<T>& array) -> std::size_t new in 2020.06
Array capacity.
template<class T, class Allocator = ArrayAllocator<T>>
auto arrayReserve(Array<T>& array, std::size_t capacity) -> std::size_t new in 2020.06
Reserve given capacity in an array.
template<class T, class Allocator = ArrayAllocator<T>>
void arrayResize(Array<T>& array, Corrade::DefaultInitT, std::size_t size) new in 2020.06
Resize an array to given size, default-initializing new elements.
template<class T, class Allocator = ArrayAllocator<T>>
void arrayResize(Array<T>& array, Corrade::ValueInitT, std::size_t size) new in 2020.06
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) new in 2020.06
Resize an array to given size, value-initializing new elements.
template<class T, class Allocator = ArrayAllocator<T>>
void arrayResize(Array<T>& array, Corrade::NoInitT, std::size_t size) new in 2020.06
Resize an array to given size, keeping new elements uninitialized.
template<class T, class ... Args>
void arrayResize(Array<T>& array, Corrade::DirectInitT, std::size_t size, Args && ... args) new in 2020.06
Resize an array to given size, constructing new elements using provided arguments.
template<class T, class Allocator, class ... Args>
void arrayResize(Array<T>& array, Corrade::DirectInitT, std::size_t size, Args && ... args) new in 2020.06
template<class T, class Allocator = ArrayAllocator<T>>
void arrayResize(Array<T>& array, std::size_t size, const typename std::common_type<T>::type& value) new in Git master
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& new in 2020.06
Copy-append an item to an array.
template<class T, class ... Args>
auto arrayAppend(Array<T>& array, Corrade::InPlaceInitT, Args && ... args) -> T& new in 2020.06
In-place append an item to an array.
template<class T, class Allocator = ArrayAllocator<T>>
auto arrayAppend(Array<T>& array, typename std::common_type<T>::type&& value) -> T& new in 2020.06
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> new in 2020.06
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> new in 2020.06
template<class T, class Allocator = ArrayAllocator<T>>
auto arrayAppend(Array<T>& array, Corrade::NoInitT, std::size_t count) -> ArrayView<T> new in 2020.06
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& new in Git master
Copy-insert an item into an array.
template<class T, class ... Args>
auto arrayInsert(Array<T>& array, std::size_t index, Corrade::InPlaceInitT, Args && ... args) -> T& new in Git master
In-place 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<T>::type&& value) -> T& new in Git master
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> new in Git master
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> new in Git master
template<class T, class Allocator = ArrayAllocator<T>>
auto arrayInsert(Array<T>& array, std::size_t index, Corrade::NoInitT, std::size_t count) -> ArrayView<T> new in Git master
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) new in Git master
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) new in Git master
Remove an element from an unordered array.
template<class T, class Allocator = ArrayAllocator<T>>
void arrayRemoveSuffix(Array<T>& array, std::size_t count = 1) new in 2020.06
Remove a suffix from an array.
template<class T, class Allocator = ArrayAllocator<T>>
void arrayShrink(Array<T>& array, Corrade::NoInitT = Corrade::NoInit) new in 2020.06
Convert an array back to non-growable.
template<class T, class Allocator = ArrayAllocator<T>>
void arrayShrink(Array<T>& array, Corrade::DefaultInitT) new in Git master
Convert an array back to non-growable using a default initialization.