#include <SmallVector.h>
Public Member Functions | |
const SmallVector & | operator= (const SmallVector &RHS) |
const SmallVector & | operator= (SmallVector &&RHS) |
const SmallVector & | operator= (SmallVectorImpl< T > &&RHS) |
const SmallVector & | operator= (std::initializer_list< T > IL) |
SmallVector () | |
SmallVector (const SmallVector &RHS) | |
template<typename ItTy > | |
SmallVector (ItTy S, ItTy E) | |
SmallVector (size_t Size, const T &Value=T()) | |
SmallVector (SmallVector &&RHS) | |
SmallVector (SmallVectorImpl< T > &&RHS) | |
SmallVector (std::initializer_list< T > IL) | |
![]() | |
template<typename in_iter > | |
void | append (in_iter in_start, in_iter in_end) |
Add the specified range to the end of the SmallVector. More... | |
void | append (size_type NumInputs, const T &Elt) |
Add the specified range to the end of the SmallVector. More... | |
void | append (std::initializer_list< T > IL) |
void | assign (size_type NumElts, const T &Elt) |
void | assign (std::initializer_list< T > IL) |
void | clear () |
template<typename... ArgTypes> | |
void | emplace_back (ArgTypes &&... Args) |
iterator | erase (const_iterator CI) |
iterator | erase (const_iterator CS, const_iterator CE) |
iterator | insert (iterator I, const T &Elt) |
template<typename ItTy > | |
iterator | insert (iterator I, ItTy From, ItTy To) |
iterator | insert (iterator I, size_type NumToInsert, const T &Elt) |
void | insert (iterator I, std::initializer_list< T > IL) |
iterator | insert (iterator I, T &&Elt) |
bool | operator!= (const SmallVectorImpl &RHS) const |
bool | operator< (const SmallVectorImpl &RHS) const |
SmallVectorImpl & | operator= (const SmallVectorImpl &RHS) |
SmallVectorImpl & | operator= (SmallVectorImpl &&RHS) |
bool | operator== (const SmallVectorImpl &RHS) const |
LLVM_VECSMALL_NODISCARD T | pop_back_val () |
void | reserve (size_type N) |
void | resize (size_type N) |
void | resize (size_type N, const T &NV) |
void | set_size (size_type N) |
void | swap (SmallVectorImpl &RHS) |
~SmallVectorImpl () | |
![]() | |
void | pop_back () |
void | push_back (const T &Elt) |
void | push_back (T &&Elt) |
![]() | |
reference | back () |
const_reference | back () const |
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE iterator | begin () |
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_iterator | begin () const |
size_t | capacity () const |
Return the total number of elements in the currently allocated buffer. More... | |
pointer | data () |
Return a pointer to the vector's buffer, even if empty(). More... | |
const_pointer | data () const |
Return a pointer to the vector's buffer, even if empty(). More... | |
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE iterator | end () |
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_iterator | end () const |
reference | front () |
const_reference | front () const |
size_type | max_size () const |
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE reference | operator[] (size_type idx) |
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_reference | operator[] (size_type idx) const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE size_type | size () const |
![]() | |
size_t | capacity_in_bytes () const |
capacity_in_bytes - This returns capacity()*sizeof(T). More... | |
LLVM_VECSMALL_NODISCARD bool | empty () const |
size_t | size_in_bytes () const |
This returns size()*sizeof(T). More... | |
Private Attributes | |
SmallVectorStorage< T, N > | Storage |
Inline space for elements which aren't stored in the base class. More... | |
Additional Inherited Members | |
![]() | |
typedef SuperClass::const_iterator | const_iterator |
typedef SuperClass::iterator | iterator |
typedef SuperClass::size_type | size_type |
![]() | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
typedef ptrdiff_t | difference_type |
typedef T * | iterator |
typedef T * | pointer |
typedef T & | reference |
typedef std::reverse_iterator< iterator > | reverse_iterator |
typedef size_t | size_type |
typedef T | value_type |
![]() | |
const typedef T * | const_iterator |
const typedef T * | const_pointer |
const typedef T & | const_reference |
![]() | |
SmallVectorImpl (unsigned N) | |
![]() | |
void | grow (size_t MinSize=0) |
SmallVectorTemplateBase (size_t Size) | |
![]() | |
iterator | capacity_ptr () |
const_iterator | capacity_ptr () const |
void | grow_pod (size_t MinSizeInBytes, size_t TSize) |
bool | isSmall () const |
void | resetToSmall () |
Put this vector in a state of being small. More... | |
void | setEnd (T *P) |
SmallVectorTemplateCommon (size_t Size) | |
![]() | |
void | grow_pod (void *FirstEl, size_t MinSizeInBytes, size_t TSize) |
SmallVectorBase (void *FirstEl, size_t Size) | |
![]() | |
static void | destroy_range (T *S, T *E) |
static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
![]() | |
void * | BeginX |
void * | CapacityX |
void * | EndX |
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small. It contains some number of elements in-place, which allows it to avoid heap allocation when the actual number of elements is below that threshold. This allows normal "small" cases to be fast without losing generality for large inputs.
Note that this does not attempt to be exception safe.
Definition at line 1029 of file SmallVector.h.
|
inline |
Definition at line 1035 of file SmallVector.h.
|
inlineexplicit |
Definition at line 1039 of file SmallVector.h.
|
inline |
Definition at line 1045 of file SmallVector.h.
|
inline |
Definition at line 1058 of file SmallVector.h.
|
inline |
Definition at line 1063 of file SmallVector.h.
|
inline |
Definition at line 1075 of file SmallVector.h.
|
inline |
Definition at line 1087 of file SmallVector.h.
|
inline |
Definition at line 1069 of file SmallVector.h.
|
inline |
Definition at line 1081 of file SmallVector.h.
|
inline |
Definition at line 1093 of file SmallVector.h.
|
inline |
Definition at line 1099 of file SmallVector.h.
|
private |
Inline space for elements which aren't stored in the base class.
Definition at line 1032 of file SmallVector.h.