#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 (size_t Size, const T &Value=T()) | |
template<typename ItTy > | |
SmallVector (ItTy S, ItTy E) | |
SmallVector (std::initializer_list< T > IL) | |
SmallVector (const SmallVector &RHS) | |
SmallVector (SmallVector &&RHS) | |
SmallVector (SmallVectorImpl< T > &&RHS) | |
![]() | |
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, T &&Elt) |
iterator | insert (iterator I, const T &Elt) |
iterator | insert (iterator I, size_type NumToInsert, const T &Elt) |
template<typename ItTy > | |
iterator | insert (iterator I, ItTy From, ItTy To) |
void | insert (iterator I, std::initializer_list< T > IL) |
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 const T * | const_iterator |
typedef const T * | const_pointer |
typedef const T & | const_reference |
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 |
![]() | |
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 866 of file SmallVector.h.
|
inline |
Definition at line 870 of file SmallVector.h.
|
inlineexplicit |
Definition at line 873 of file SmallVector.h.
|
inline |
Definition at line 879 of file SmallVector.h.
|
inline |
Definition at line 891 of file SmallVector.h.
|
inline |
Definition at line 895 of file SmallVector.h.
|
inline |
Definition at line 905 of file SmallVector.h.
|
inline |
Definition at line 915 of file SmallVector.h.
|
inline |
Definition at line 900 of file SmallVector.h.
|
inline |
Definition at line 910 of file SmallVector.h.
|
inline |
Definition at line 920 of file SmallVector.h.
|
inline |
Definition at line 925 of file SmallVector.h.
|
private |
Inline space for elements which aren't stored in the base class.
Definition at line 868 of file SmallVector.h.