Template Class SmallVector

Inheritance Relationships

Base Type

Class Documentation

template<typename T, unsigned N>
class SmallVector : public llvm_vecsmall::SmallVectorImpl<T>

This is a ‘vector’ (really, 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.

Note that this does not attempt to be exception safe.

Public Functions

inline SmallVector()
inline explicit SmallVector(size_t Size, const T &Value = T())
template<typename ItTy>
inline SmallVector(ItTy S, ItTy E)
inline SmallVector(std::initializer_list<T> IL)
inline SmallVector(const SmallVector &RHS)
inline const SmallVector &operator=(const SmallVector &RHS)
inline SmallVector(SmallVector &&RHS)
inline const SmallVector &operator=(SmallVector &&RHS)
inline SmallVector(SmallVectorImpl<T> &&RHS)
inline const SmallVector &operator=(SmallVectorImpl<T> &&RHS)
inline const SmallVector &operator=(std::initializer_list<T> IL)