|
LLVM
3.7.0
|
SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's. More...
#include <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 MinSizeInBytes, 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... | |
| void | setEnd (T *P) |
| iterator | capacity_ptr () |
| const_iterator | capacity_ptr () const |
Protected Member Functions inherited from llvm::SmallVectorBase | |
| SmallVectorBase (void *FirstEl, size_t Size) | |
| void | grow_pod (void *FirstEl, size_t MinSizeInBytes, 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 It2 | move (It1 I, It1 E, It2 Dest) |
| Use move-assignment to move the range [I, E) onto the objects starting with "Dest". More... | |
| template<typename It1 , typename It2 > | |
| static It2 | move_backward (It1 I, It1 E, It2 Dest) |
| Use move-assignment to move the range [I, E) onto the objects ending at "Dest", moving objects in reverse order. More... | |
| 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 > | |
| typedef size_t | size_type |
| typedef ptrdiff_t | difference_type |
| typedef T | value_type |
| typedef T * | iterator |
| typedef const T * | const_iterator |
| typedef std::reverse_iterator < const_iterator > | const_reverse_iterator |
| typedef std::reverse_iterator < iterator > | reverse_iterator |
| typedef T & | reference |
| typedef const T & | const_reference |
| typedef T * | pointer |
| typedef const T * | const_pointer |
Protected Attributes inherited from llvm::SmallVectorBase | |
| void * | BeginX |
| void * | EndX |
| void * | CapacityX |
SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's.
Definition at line 272 of file SmallVector.h.
|
inlineprotected |
Definition at line 274 of file SmallVector.h.
|
inlinestaticprotected |
Definition at line 277 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 326 of file SmallVector.h.
References llvm::SmallVectorTemplateCommon< T >::grow_pod().
|
inlinestaticprotected |
Use move-assignment to move the range [I, E) onto the objects starting with "Dest".
For PODs, this is just memcpy.
Definition at line 282 of file SmallVector.h.
|
inlinestaticprotected |
Use move-assignment to move the range [I, E) onto the objects ending at "Dest", moving objects in reverse order.
Definition at line 289 of file SmallVector.h.
|
inline |
Definition at line 337 of file SmallVector.h.
References llvm::SmallVectorTemplateCommon< T >::end(), and llvm::SmallVectorTemplateCommon< T >::setEnd().
|
inline |
|
inlinestaticprotected |
Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
Definition at line 304 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 312 of file SmallVector.h.
|
inlinestaticprotected |
Move the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
Definition at line 296 of file SmallVector.h.
References llvm::SmallVectorTemplateBase< T, isPodLike >::uninitialized_copy().
1.8.6