#include <Containers/SmallVector.h>
template<typename T, unsigned N = CalculateSmallVectorDefaultInlinedElements<T>::value>
SmallVector class
Memory-optimized vector.
A variable-sized array optimized for the case when the array is small. It contains some number of elements in-place, which allows it to avoid heap allocation when the actual number of elements is below that threshold. This allows normal "small" cases to be fast without losing generality for large inputs.
Base classes
-
template<typename T>class SmallVectorImpl<T>
- Consists of common code of SmallVector class to reduce code duplication based on
N
template parameter.
Constructors, destructors, conversion operators
- SmallVector()
- ~SmallVector()
-
SmallVector(std::
size_t size) explicit -
SmallVector(std::
size_t size, const T& value) -
template<typename ItTy, typename = std::SmallVector(ItTy s, ItTy e)
enable_if_t<std:: is_convertible< typename std:: iterator_traits<ItTy>::iterator_category, std:: input_iterator_tag>::value>> -
template<typename RangeTy>SmallVector(const iterator_
range<RangeTy>& r) explicit -
SmallVector(std::
initializer_list<T> il) - SmallVector(const SmallVector& other)
- SmallVector(SmallVector&& other)
- SmallVector(SmallVectorImpl<T>&& other)
Public functions
- auto operator=(const SmallVector& other) -> SmallVector&
- auto operator=(SmallVector&& other) -> SmallVector&
- auto operator=(SmallVectorImpl<T>&& other) -> SmallVector&
-
auto operator=(std::
initializer_list<T> il) -> SmallVector&