llvm::SmallVectorImpl<pair<variant<StringRef, unsigned long>, /* implementation-defined */>>

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

Synopsis

Declared in <llvm/ADT/SmallVector.h>

template<>
class SmallVectorImpl<pair<variant<StringRef, unsigned long>, /* implementation-defined */>>
    : public SmallVectorTemplateBase<pair<variant<StringRef, unsigned long>, /* implementation-defined */>>

Base Classes

NameDescription
SmallVectorTemplateBase<pair<variant<StringRef, unsigned long>, /* implementation-defined */>>SmallVectorTemplateBase<TriviallyCopyable = false> - This is where we put method implementations that are designed to work with non-trivial T's.

Type Aliases

NameDescription
const_iterator Const iterator over the vector elements.
iterator Mutable iterator over the vector elements.
reference Mutable reference to an element.
size_type Unsigned type used to express the size of the vector.

Member Functions

NameDescription
SmallVectorImpl [constructor] [deleted]Copy construction is not allowed.
operator= Assignment operators
append append overloads
assign assign overloads
clear Remove all elements from the vector.
emplace_back Construct an element in place at the end using Args.
erase erase overloads
insert insert overloads
pop_back Destroy and remove the last element of the vector.
pop_back_n Remove the last NumItems elements from the vector.
pop_back_val Remove and return the last element by move.
push_back push_back overloads
reserve Ensure capacity for at least N elements.
resize resize overloads
resize_for_overwrite Like resize, but new elements are default-initialized without value construction when T is POD-like.
swap Exchange the contents of this vector with RHS.
truncate Like resize, but requires that N is less than size().
operator== Return true if this vector and RHS have equal elements.
operator!= Return true if this vector and RHS differ.
operator< Lexicographically compare this vector with RHS.
operator<= Lexicographically compare this vector with RHS for less-or-equal.
operator> Lexicographically compare this vector with RHS for greater-than.
operator>= Lexicographically compare this vector with RHS for greater-or-equal.

Protected Type Aliases

NameDescription
ValueParamT Parameter type used when passing elements to mutating operations.

Protected Member Functions

NameDescription
SmallVectorImpl [constructor]Construct an empty SmallVectorImpl with inline capacity N.
~SmallVectorImpl [destructor]Destroy storage if the vector grew beyond the inline buffer.
assignRemote Take ownership of RHS's heap allocation, leaving RHS empty and small.
grow Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory. Guarantees space for at least one more element, or MinSize more elements if specified.
growAndAssign Grow storage and replace contents with NumElts copies of Elt.
growAndEmplaceBack Grow storage and emplace an element at the end using Args.
mallocForGrow Create a new allocation big enough for MinSize and pass back its size in NewCapacity. This is the first section of grow().
moveElementsForGrow Move existing elements over to the new allocation NewElts, the middle section of grow().
reserveForParamAndGetAddress Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
takeAllocationForGrow Transfer ownership of the allocation, finishing up grow().

Protected Static Member Functions

NameDescription
destroy_range Destroy the elements in the range []S, E).
forward_value_param forward_value_param overloads
uninitialized_copy Copy the range [I, E) onto the uninitialized memory starting with "Dest",] constructing elements as needed.
uninitialized_move Move the range [I, E) into the uninitialized memory starting with "Dest",] constructing elements as needed.

Protected Static Data Members

NameDescription
TakesParamByValue False when elements are passed by const reference rather than by value.

Protected Using Declarations

Name
TakesParamByValue