LLVM
8.0.1
|
SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's. More...
#include "llvm/ADT/SmallVector.h"
Protected Member Functions | |
SmallVectorTemplateBase (size_t Size) | |
void | grow (size_t MinSize=0) |
Double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified. More... | |
Protected Member Functions inherited from llvm::SmallVectorTemplateCommon< T > | |
SmallVectorTemplateCommon (size_t Size) | |
void | grow_pod (size_t MinCapacity, size_t TSize) |
bool | isSmall () const |
Return true if this is a smallvector which has not had dynamic memory allocated for it. More... | |
void | resetToSmall () |
Put this vector in a state of being small. More... | |
Protected Member Functions inherited from llvm::SmallVectorBase | |
SmallVectorBase ()=delete | |
SmallVectorBase (void *FirstEl, size_t Capacity) | |
void | grow_pod (void *FirstEl, size_t MinCapacity, 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. More... | |
Static Protected Member Functions | |
static void | destroy_range (T *, T *) |
template<typename It1 , typename It2 > | |
static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
Move the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed. More... | |
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 into it as needed. More... | |
template<typename T1 , typename T2 > | |
static void | uninitialized_copy (T1 *I, T1 *E, T2 *Dest, typename std::enable_if< std::is_same< typename std::remove_const< T1 >::type, T2 >::value >::type *=nullptr) |
Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed. More... | |
Additional Inherited Members | |
Public Types inherited from llvm::SmallVectorTemplateCommon< T > | |
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 * |
Protected Attributes inherited from llvm::SmallVectorBase | |
void * | BeginX |
unsigned | Size = 0 |
unsigned | Capacity |
SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's.
Definition at line 267 of file SmallVector.h.
|
inlineprotected |
Definition at line 269 of file SmallVector.h.
|
inlinestaticprotected |
Definition at line 272 of file SmallVector.h.
|
inlineprotected |
Double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified.
Definition at line 307 of file SmallVector.h.
References llvm::SmallVectorBase::grow_pod().
|
inline |
Definition at line 317 of file SmallVector.h.
References llvm::SmallVectorBase::set_size(), and llvm::SmallVectorBase::size().
|
inline |
Definition at line 310 of file SmallVector.h.
References llvm::SmallVectorBase::capacity(), llvm::sys::path::end(), LLVM_UNLIKELY, llvm::Intrinsic::memcpy, llvm::SmallVectorBase::set_size(), and llvm::SmallVectorBase::size().
|
inlinestaticprotected |
Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
Definition at line 285 of file SmallVector.h.
|
inlinestaticprotected |
Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
Definition at line 293 of file SmallVector.h.
References llvm::Intrinsic::memcpy.
|
inlinestaticprotected |
Move the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
Definition at line 277 of file SmallVector.h.