class SmallVectorImpl
Declaration
template <typename T>
class SmallVectorImpl { /* full declaration omitted */ };
Description
This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter.
Declared at: llvm/include/llvm/ADT/SmallVector.h:554
Templates
- T
Method Overview
- protected SmallVectorImpl<T>(unsigned int N)
- public SmallVectorImpl<T>(const SmallVectorImpl<T> &)
- public template <typename in_iter, typename = std::enable_if_t<std::is_convertible<typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>>void append(in_iter in_start, in_iter in_end)
- public void append(const SmallVectorImpl<T> & RHS)
- public void append(std::initializer_list<T> IL)
- public void append(llvm::SmallVectorImpl::size_type NumInputs, llvm::SmallVectorImpl::ValueParamT Elt)
- public template <typename in_iter, typename = std::enable_if_t<std::is_convertible<typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>>void assign(in_iter in_start, in_iter in_end)
- public void assign(const SmallVectorImpl<T> & RHS)
- public void assign(std::initializer_list<T> IL)
- public void assign(llvm::SmallVectorImpl::size_type NumElts, llvm::SmallVectorImpl::ValueParamT Elt)
- protected void assignRemote(SmallVectorImpl<T> && RHS)
- public void clear()
- public template <typename... ArgTypes>llvm::SmallVectorImpl::reference emplace_back(ArgTypes &&... Args)
- public llvm::SmallVectorImpl::iterator erase(llvm::SmallVectorImpl::const_iterator CS, llvm::SmallVectorImpl::const_iterator CE)
- public llvm::SmallVectorImpl::iterator erase(llvm::SmallVectorImpl::const_iterator CI)
- public llvm::SmallVectorImpl::iterator insert(llvm::SmallVectorImpl::iterator I, T && Elt)
- public template <typename ItTy, typename = std::enable_if_t<std::is_convertible<typename std::iterator_traits<ItTy>::iterator_category, std::input_iterator_tag>::value>>llvm::SmallVectorImpl::iterator insert(llvm::SmallVectorImpl::iterator I, ItTy From, ItTy To)
- public void insert(llvm::SmallVectorImpl::iterator I, std::initializer_list<T> IL)
- public llvm::SmallVectorImpl::iterator insert(llvm::SmallVectorImpl::iterator I, llvm::SmallVectorImpl::size_type NumToInsert, llvm::SmallVectorImpl::ValueParamT Elt)
- public llvm::SmallVectorImpl::iterator insert(llvm::SmallVectorImpl::iterator I, const T & Elt)
- private template <class ArgType>llvm::SmallVectorImpl::iterator insert_one_impl(llvm::SmallVectorImpl::iterator I, ArgType && Elt)
- public void pop_back_n(llvm::SmallVectorImpl::size_type NumItems)
- public T pop_back_val()
- public void reserve(llvm::SmallVectorImpl::size_type N)
- public void resize(llvm::SmallVectorImpl::size_type N)
- public void resize(llvm::SmallVectorImpl::size_type N, llvm::SmallVectorImpl::ValueParamT NV)
- private template <bool ForOverwrite>void resizeImpl(llvm::SmallVectorImpl::size_type N)
- public void resize_for_overwrite(llvm::SmallVectorImpl::size_type N)
- public void swap(SmallVectorImpl<T> & RHS)
- public void truncate(llvm::SmallVectorImpl::size_type N)
- public ~SmallVectorImpl<T>()
Methods
¶SmallVectorImpl<T>(unsigned int N)
SmallVectorImpl<T>(unsigned int N)
Declared at: llvm/include/llvm/ADT/SmallVector.h:568
Parameters
- unsigned int N
¶SmallVectorImpl<T>(const SmallVectorImpl<T>&)
SmallVectorImpl<T>(const SmallVectorImpl<T>&)
Declared at: llvm/include/llvm/ADT/SmallVector.h:582
Parameters
- const SmallVectorImpl<T>&
¶template <
typename in_iter,
typename =
std::enable_if_t<std::is_convertible<
typename std::iterator_traits<
in_iter>::iterator_category,
std::input_iterator_tag>::value>>
void append(in_iter in_start, in_iter in_end)
template <
typename in_iter,
typename =
std::enable_if_t<std::is_convertible<
typename std::iterator_traits<
in_iter>::iterator_category,
std::input_iterator_tag>::value>>
void append(in_iter in_start, in_iter in_end)
Description
Add the specified range to the end of the SmallVector.
Declared at: llvm/include/llvm/ADT/SmallVector.h:667
Templates
- in_iter
- = std::enable_if_t<std::is_convertible<typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>
Parameters
- in_iter in_start
- in_iter in_end
¶void append(const SmallVectorImpl<T>& RHS)
void append(const SmallVectorImpl<T>& RHS)
Declared at: llvm/include/llvm/ADT/SmallVector.h:686
Parameters
- const SmallVectorImpl<T>& RHS
¶void append(std::initializer_list<T> IL)
void append(std::initializer_list<T> IL)
Declared at: llvm/include/llvm/ADT/SmallVector.h:682
Parameters
- std::initializer_list<T> IL
¶void append(
llvm::SmallVectorImpl::size_type NumInputs,
llvm::SmallVectorImpl::ValueParamT Elt)
void append(
llvm::SmallVectorImpl::size_type NumInputs,
llvm::SmallVectorImpl::ValueParamT Elt)
Description
Append \p NumInputs copies of \p Elt to the end.
Declared at: llvm/include/llvm/ADT/SmallVector.h:676
Parameters
- llvm::SmallVectorImpl::size_type NumInputs
- llvm::SmallVectorImpl::ValueParamT Elt
¶template <
typename in_iter,
typename =
std::enable_if_t<std::is_convertible<
typename std::iterator_traits<
in_iter>::iterator_category,
std::input_iterator_tag>::value>>
void assign(in_iter in_start, in_iter in_end)
template <
typename in_iter,
typename =
std::enable_if_t<std::is_convertible<
typename std::iterator_traits<
in_iter>::iterator_category,
std::input_iterator_tag>::value>>
void assign(in_iter in_start, in_iter in_end)
Declared at: llvm/include/llvm/ADT/SmallVector.h:711
Templates
- in_iter
- = std::enable_if_t<std::is_convertible<typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>
Parameters
- in_iter in_start
- in_iter in_end
¶void assign(const SmallVectorImpl<T>& RHS)
void assign(const SmallVectorImpl<T>& RHS)
Declared at: llvm/include/llvm/ADT/SmallVector.h:722
Parameters
- const SmallVectorImpl<T>& RHS
¶void assign(std::initializer_list<T> IL)
void assign(std::initializer_list<T> IL)
Declared at: llvm/include/llvm/ADT/SmallVector.h:717
Parameters
- std::initializer_list<T> IL
¶void assign(
llvm::SmallVectorImpl::size_type NumElts,
llvm::SmallVectorImpl::ValueParamT Elt)
void assign(
llvm::SmallVectorImpl::size_type NumElts,
llvm::SmallVectorImpl::ValueParamT Elt)
Declared at: llvm/include/llvm/ADT/SmallVector.h:688
Parameters
- llvm::SmallVectorImpl::size_type NumElts
- llvm::SmallVectorImpl::ValueParamT Elt
¶void assignRemote(SmallVectorImpl<T>&& RHS)
void assignRemote(SmallVectorImpl<T>&& RHS)
Declared at: llvm/include/llvm/ADT/SmallVector.h:571
Parameters
- SmallVectorImpl<T>&& RHS
¶void clear()
void clear()
Declared at: llvm/include/llvm/ADT/SmallVector.h:591
¶template <typename... ArgTypes>
llvm::SmallVectorImpl::reference emplace_back(
ArgTypes&&... Args)
template <typename... ArgTypes>
llvm::SmallVectorImpl::reference emplace_back(
ArgTypes&&... Args)
Declared at: llvm/include/llvm/ADT/SmallVector.h:927
Templates
- ArgTypes
Parameters
- ArgTypes&&... Args
¶llvm::SmallVectorImpl::iterator erase(
llvm::SmallVectorImpl::const_iterator CS,
llvm::SmallVectorImpl::const_iterator CE)
llvm::SmallVectorImpl::iterator erase(
llvm::SmallVectorImpl::const_iterator CS,
llvm::SmallVectorImpl::const_iterator CE)
Declared at: llvm/include/llvm/ADT/SmallVector.h:738
Parameters
- llvm::SmallVectorImpl::const_iterator CS
- llvm::SmallVectorImpl::const_iterator CE
¶llvm::SmallVectorImpl::iterator erase(
llvm::SmallVectorImpl::const_iterator CI)
llvm::SmallVectorImpl::iterator erase(
llvm::SmallVectorImpl::const_iterator CI)
Declared at: llvm/include/llvm/ADT/SmallVector.h:724
Parameters
- llvm::SmallVectorImpl::const_iterator CI
¶llvm::SmallVectorImpl::iterator insert(
llvm::SmallVectorImpl::iterator I,
T&& Elt)
llvm::SmallVectorImpl::iterator insert(
llvm::SmallVectorImpl::iterator I,
T&& Elt)
Declared at: llvm/include/llvm/ADT/SmallVector.h:792
Parameters
- llvm::SmallVectorImpl::iterator I
- T&& Elt
¶template <
typename ItTy,
typename =
std::enable_if_t<std::is_convertible<
typename std::iterator_traits<
ItTy>::iterator_category,
std::input_iterator_tag>::value>>
llvm::SmallVectorImpl::iterator insert(
llvm::SmallVectorImpl::iterator I,
ItTy From,
ItTy To)
template <
typename ItTy,
typename =
std::enable_if_t<std::is_convertible<
typename std::iterator_traits<
ItTy>::iterator_category,
std::input_iterator_tag>::value>>
llvm::SmallVectorImpl::iterator insert(
llvm::SmallVectorImpl::iterator I,
ItTy From,
ItTy To)
Declared at: llvm/include/llvm/ADT/SmallVector.h:865
Templates
- ItTy
- = std::enable_if_t<std::is_convertible<typename std::iterator_traits<ItTy>::iterator_category, std::input_iterator_tag>::value>
Parameters
- llvm::SmallVectorImpl::iterator I
- ItTy From
- ItTy To
¶void insert(llvm::SmallVectorImpl::iterator I,
std::initializer_list<T> IL)
void insert(llvm::SmallVectorImpl::iterator I,
std::initializer_list<T> IL)
Declared at: llvm/include/llvm/ADT/SmallVector.h:923
Parameters
- llvm::SmallVectorImpl::iterator I
- std::initializer_list<T> IL
¶llvm::SmallVectorImpl::iterator insert(
llvm::SmallVectorImpl::iterator I,
llvm::SmallVectorImpl::size_type NumToInsert,
llvm::SmallVectorImpl::ValueParamT Elt)
llvm::SmallVectorImpl::iterator insert(
llvm::SmallVectorImpl::iterator I,
llvm::SmallVectorImpl::size_type NumToInsert,
llvm::SmallVectorImpl::ValueParamT Elt)
Declared at: llvm/include/llvm/ADT/SmallVector.h:800
Parameters
- llvm::SmallVectorImpl::iterator I
- llvm::SmallVectorImpl::size_type NumToInsert
- llvm::SmallVectorImpl::ValueParamT Elt
¶llvm::SmallVectorImpl::iterator insert(
llvm::SmallVectorImpl::iterator I,
const T& Elt)
llvm::SmallVectorImpl::iterator insert(
llvm::SmallVectorImpl::iterator I,
const T& Elt)
Declared at: llvm/include/llvm/ADT/SmallVector.h:796
Parameters
- llvm::SmallVectorImpl::iterator I
- const T& Elt
¶template <class ArgType>
llvm::SmallVectorImpl::iterator insert_one_impl(
llvm::SmallVectorImpl::iterator I,
ArgType&& Elt)
template <class ArgType>
llvm::SmallVectorImpl::iterator insert_one_impl(
llvm::SmallVectorImpl::iterator I,
ArgType&& Elt)
Declared at: llvm/include/llvm/ADT/SmallVector.h:755
Templates
- ArgType
Parameters
- llvm::SmallVectorImpl::iterator I
- ArgType&& Elt
¶void pop_back_n(
llvm::SmallVectorImpl::size_type NumItems)
void pop_back_n(
llvm::SmallVectorImpl::size_type NumItems)
Declared at: llvm/include/llvm/ADT/SmallVector.h:649
Parameters
- llvm::SmallVectorImpl::size_type NumItems
¶T pop_back_val()
T pop_back_val()
Declared at: llvm/include/llvm/ADT/SmallVector.h:654
¶void reserve(llvm::SmallVectorImpl::size_type N)
void reserve(llvm::SmallVectorImpl::size_type N)
Declared at: llvm/include/llvm/ADT/SmallVector.h:644
Parameters
- llvm::SmallVectorImpl::size_type N
¶void resize(llvm::SmallVectorImpl::size_type N)
void resize(llvm::SmallVectorImpl::size_type N)
Declared at: llvm/include/llvm/ADT/SmallVector.h:619
Parameters
- llvm::SmallVectorImpl::size_type N
¶void resize(llvm::SmallVectorImpl::size_type N,
llvm::SmallVectorImpl::ValueParamT NV)
void resize(llvm::SmallVectorImpl::size_type N,
llvm::SmallVectorImpl::ValueParamT NV)
Declared at: llvm/include/llvm/ADT/SmallVector.h:631
Parameters
- llvm::SmallVectorImpl::size_type N
- llvm::SmallVectorImpl::ValueParamT NV
¶template <bool ForOverwrite>
void resizeImpl(
llvm::SmallVectorImpl::size_type N)
template <bool ForOverwrite>
void resizeImpl(
llvm::SmallVectorImpl::size_type N)
Declared at: llvm/include/llvm/ADT/SmallVector.h:600
Templates
- bool ForOverwrite
Parameters
- llvm::SmallVectorImpl::size_type N
¶void resize_for_overwrite(
llvm::SmallVectorImpl::size_type N)
void resize_for_overwrite(
llvm::SmallVectorImpl::size_type N)
Description
Like resize, but \ref T is POD, the new values won't be initialized.
Declared at: llvm/include/llvm/ADT/SmallVector.h:622
Parameters
- llvm::SmallVectorImpl::size_type N
¶void swap(SmallVectorImpl<T>& RHS)
void swap(SmallVectorImpl<T>& RHS)
Declared at: llvm/include/llvm/ADT/SmallVector.h:660
Parameters
- SmallVectorImpl<T>& RHS
¶void truncate(llvm::SmallVectorImpl::size_type N)
void truncate(llvm::SmallVectorImpl::size_type N)
Description
Like resize, but requires that \p N is less than \a size().
Declared at: llvm/include/llvm/ADT/SmallVector.h:625
Parameters
- llvm::SmallVectorImpl::size_type N
¶~SmallVectorImpl<T>()
~SmallVectorImpl<T>()
Declared at: llvm/include/llvm/ADT/SmallVector.h:584