|
using | iterator = typename SuperClass::iterator |
|
using | const_iterator = typename SuperClass::const_iterator |
|
using | reference = typename SuperClass::reference |
|
using | size_type = typename SuperClass::size_type |
|
using | size_type = size_t |
|
using | difference_type = ptrdiff_t |
|
using | value_type = T |
|
using | iterator = T * |
|
using | const_iterator = const T * |
|
using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
|
using | reverse_iterator = std::reverse_iterator< iterator > |
|
using | reference = T & |
|
using | const_reference = const T & |
|
using | pointer = T * |
|
using | const_pointer = const T * |
|
using | ValueParamT = typename SuperClass::ValueParamT |
|
using | ValueParamT = const T & |
|
| SmallVectorImpl (unsigned N) |
|
void | assignRemote (SmallVectorImpl &&RHS) |
|
| ~SmallVectorImpl () |
|
| SmallVectorTemplateBase (size_t Size) |
|
void | grow (size_t MinSize=0) |
| Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory.
|
|
T * | mallocForGrow (size_t MinSize, size_t &NewCapacity) |
| Create a new allocation big enough for MinSize and pass back its size in NewCapacity .
|
|
void | moveElementsForGrow (T *NewElts) |
| Move existing elements over to the new allocation NewElts , the middle section of grow().
|
|
void | takeAllocationForGrow (T *NewElts, size_t NewCapacity) |
| Transfer ownership of the allocation, finishing up grow().
|
|
const T * | reserveForParamAndGetAddress (const T &Elt, size_t N=1) |
| Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
|
|
T * | reserveForParamAndGetAddress (T &Elt, size_t N=1) |
| Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
|
|
void | growAndAssign (size_t NumElts, const T &Elt) |
|
template<typename... ArgTypes> |
T & | growAndEmplaceBack (ArgTypes &&... Args) |
|
void * | getFirstEl () const |
| Find the address of the first element.
|
|
| SmallVectorTemplateCommon (size_t Size) |
|
void | grow_pod (size_t MinSize, size_t TSize) |
|
bool | isSmall () const |
| Return true if this is a smallvector which has not had dynamic memory allocated for it.
|
|
void | resetToSmall () |
| Put this vector in a state of being small.
|
|
bool | isReferenceToRange (const void *V, const void *First, const void *Last) const |
| Return true if V is an internal reference to the given range.
|
|
bool | isReferenceToStorage (const void *V) const |
| Return true if V is an internal reference to this vector.
|
|
bool | isRangeInStorage (const void *First, const void *Last) const |
| Return true if First and Last form a valid (possibly empty) range in this vector's storage.
|
|
bool | isSafeToReferenceAfterResize (const void *Elt, size_t NewSize) |
| Return true unless Elt will be invalidated by resizing the vector to NewSize.
|
|
void | assertSafeToReferenceAfterResize (const void *Elt, size_t NewSize) |
| Check whether Elt will be invalidated by resizing the vector to NewSize.
|
|
void | assertSafeToAdd (const void *Elt, size_t N=1) |
| Check whether Elt will be invalidated by increasing the size of the vector by N.
|
|
void | assertSafeToReferenceAfterClear (const T *From, const T *To) |
| Check whether any part of the range will be invalidated by clearing.
|
|
template<class ItTy , std::enable_if_t<!std::is_same< std::remove_const_t< ItTy >, T * >::value, bool > = false> |
void | assertSafeToReferenceAfterClear (ItTy, ItTy) |
|
void | assertSafeToAddRange (const T *From, const T *To) |
| Check whether any part of the range will be invalidated by growing.
|
|
template<class ItTy , std::enable_if_t<!std::is_same< std::remove_const_t< ItTy >, T * >::value, bool > = false> |
void | assertSafeToAddRange (ItTy, ItTy) |
|
| SmallVectorBase ()=delete |
|
| SmallVectorBase (void *FirstEl, size_t TotalCapacity) |
|
void * | mallocForGrow (void *FirstEl, size_t MinSize, size_t TSize, size_t &NewCapacity) |
| This is a helper for grow() that's out of line to reduce code duplication.
|
|
void | grow_pod (void *FirstEl, size_t MinSize, size_t TSize) |
| This is an implementation of the grow() method which only works on POD-like data types and is out of line to reduce code duplication.
|
|
void | set_size (size_t N) |
| Set the array size to N , which the current array must have enough capacity for.
|
|
void | set_allocation_range (void *Begin, size_t N) |
| Set the array data pointer to Begin and capacity to N .
|
|
static void | destroy_range (T *S, T *E) |
|
template<typename It1 , typename It2 > |
static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
| Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.
|
|
template<typename It1 , typename It2 > |
static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
| Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed.
|
|
static T && | forward_value_param (T &&V) |
|
static const T & | forward_value_param (const T &V) |
|
template<class U > |
static const T * | reserveForParamAndGetAddressImpl (U *This, const T &Elt, size_t N) |
| Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
|
|
static constexpr size_t | SizeTypeMax () |
| The maximum value of the Size_T used.
|
|
void * | BeginX |
|
SmallVectorSizeType< T > | Size |
|
SmallVectorSizeType< T > | Capacity |
|
static constexpr bool | TakesParamByValue = false |
|