llvm::SmallVectorImpl<DIType*>

Synopsis

Declared in <llvm/ADT/SmallVector.h>

template<>
class SmallVectorImpl<DIType*>
    : public SmallVectorTemplateBase<DIType*>

Base Classes

NameDescription
SmallVectorTemplateBase<DIType*>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
pop_back_n Remove the last NumItems elements from the vector.
pop_back_val Remove and return the last element by move.
push_back
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 Double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified.
growAndAssign
growAndEmplaceBack
growAndPushBack
reserveForParamAndGetAddress Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.

Protected Static Member Functions

NameDescription
destroy_range
forward_value_param Copy V or return a reference, depending on ValueParamT.
uninitialized_copy Copy the range [I, E) onto the uninitialized memory] starting with "Dest", constructing elements into it as needed.
uninitialized_move Move the range [I, E) onto the uninitialized memory] starting with "Dest", constructing elements into it as needed.

Protected Static Data Members

NameDescription
TakesParamByValue True if it's cheap enough to take parameters by value. Doing so avoids overhead related to mitigations for reference invalidation.

Protected Using Declarations

Name
TakesParamByValue