This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter.
Declared in <llvm/ADT/SmallVector.h>
template<>
class SmallVectorImpl<SDep>
: public SmallVectorTemplateBase<SDep>
| Name | Description |
|---|---|
SmallVectorTemplateBase<SDep> | SmallVectorTemplateBase<TriviallyCopyable = false> - This is where we put method implementations that are designed to work with non-trivial T's. |
| Name | Description |
|---|---|
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. |
| Name | Description |
|---|---|
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. |
| Name | Description |
|---|---|
ValueParamT | Parameter type used when passing elements to mutating operations. |
| Name | Description |
|---|---|
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. |
| Name | Description |
|---|---|
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. |
| Name | Description |
|---|---|
TakesParamByValue | True if it's cheap enough to take parameters by value. Doing so avoids overhead related to mitigations for reference invalidation. |
| Name |
|---|
TakesParamByValue |