Template Class SmallVectorImpl

Inheritance Relationships

Base Type

Derived Types

Class Documentation

template<typename T>
class SmallVectorImpl : public ams::SmallVectorTemplateBase<T>

This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector ‘N’ template parameter.

Subclassed by ams::SmallVector< IntDimType >, ams::SmallVector< T, N >

Public Types

using iterator = typename SuperClass::iterator
using const_iterator = typename SuperClass::const_iterator
using reference = typename SuperClass::reference
using size_type = typename SuperClass::size_type

Public Functions

SmallVectorImpl(const SmallVectorImpl&) = delete
inline void clear()
inline void resize(size_type N)
inline void resize_for_overwrite(size_type N)

Like resize, but T is POD, the new values won’t be initialized.

inline void truncate(size_type N)

Like resize, but requires that N is less than size().

inline void resize(size_type N, ValueParamT NV)
inline void reserve(size_type N)
inline void pop_back_n(size_type NumItems)
inline T pop_back_val()
void swap(SmallVectorImpl &RHS)
template<typename ItTy, typename = EnableIfConvertibleToInputIterator<ItTy>>
inline void append(ItTy in_start, ItTy in_end)

Add the specified range to the end of the SmallVector.

inline void append(size_type NumInputs, ValueParamT Elt)

Append NumInputs copies of Elt to the end.

inline void append(std::initializer_list<T> IL)
inline void append(const SmallVectorImpl &RHS)
inline void assign(size_type NumElts, ValueParamT Elt)
template<typename ItTy, typename = EnableIfConvertibleToInputIterator<ItTy>>
inline void assign(ItTy in_start, ItTy in_end)
inline void assign(std::initializer_list<T> IL)
inline void assign(const SmallVectorImpl &RHS)
inline iterator erase(const_iterator CI)
inline iterator erase(const_iterator CS, const_iterator CE)
inline iterator insert(iterator I, T &&Elt)
inline iterator insert(iterator I, const T &Elt)
inline iterator insert(iterator I, size_type NumToInsert, ValueParamT Elt)
template<typename ItTy, typename = EnableIfConvertibleToInputIterator<ItTy>>
inline iterator insert(iterator I, ItTy From, ItTy To)
inline void insert(iterator I, std::initializer_list<T> IL)
template<typename ...ArgTypes>
inline reference emplace_back(ArgTypes&&... Args)
SmallVectorImpl &operator=(const SmallVectorImpl &RHS)
SmallVectorImpl &operator=(SmallVectorImpl &&RHS)
inline bool operator==(const SmallVectorImpl &RHS) const
inline bool operator!=(const SmallVectorImpl &RHS) const
inline bool operator<(const SmallVectorImpl &RHS) const
inline bool operator>(const SmallVectorImpl &RHS) const
inline bool operator<=(const SmallVectorImpl &RHS) const
inline bool operator>=(const SmallVectorImpl &RHS) const

Protected Types

using ValueParamT = typename SuperClass::ValueParamT

Protected Functions

inline explicit SmallVectorImpl(unsigned N)
inline void assignRemote(SmallVectorImpl &&RHS)
inline ~SmallVectorImpl()