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)

Declared at: llvm/include/llvm/ADT/SmallVector.h:568

Parameters

unsigned int N

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)

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)

Declared at: llvm/include/llvm/ADT/SmallVector.h:686

Parameters

const SmallVectorImpl<T>& RHS

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)

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)

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)

Declared at: llvm/include/llvm/ADT/SmallVector.h:722

Parameters

const SmallVectorImpl<T>& RHS

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)

Declared at: llvm/include/llvm/ADT/SmallVector.h:688

Parameters

llvm::SmallVectorImpl::size_type NumElts
llvm::SmallVectorImpl::ValueParamT Elt

void assignRemote(SmallVectorImpl<T>&& RHS)

Declared at: llvm/include/llvm/ADT/SmallVector.h:571

Parameters

SmallVectorImpl<T>&& RHS

void clear()

Declared at: llvm/include/llvm/ADT/SmallVector.h:591

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)

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)

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)

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)

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)

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)

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)

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)

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)

Declared at: llvm/include/llvm/ADT/SmallVector.h:649

Parameters

llvm::SmallVectorImpl::size_type NumItems

T pop_back_val()

Declared at: llvm/include/llvm/ADT/SmallVector.h:654

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)

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)

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)

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)

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)

Declared at: llvm/include/llvm/ADT/SmallVector.h:660

Parameters

SmallVectorImpl<T>& RHS

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>()

Declared at: llvm/include/llvm/ADT/SmallVector.h:584