LLVM API Documentation
#include <SmallVector.h>
Public Member Functions | |
void | push_back (const T &Elt) |
void | pop_back () |
Protected Member Functions | |
SmallVectorTemplateBase (size_t Size) | |
void | grow (size_t MinSize=0) |
Static Protected Member Functions | |
static void | destroy_range (T *, T *) |
template<typename It1 , typename It2 > | |
static It2 | move (It1 I, It1 E, It2 Dest) |
template<typename It1 , typename It2 > | |
static It2 | move_backward (It1 I, It1 E, It2 Dest) |
template<typename It1 , typename It2 > | |
static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
template<typename It1 , typename It2 > | |
static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
template<typename T1 , typename T2 > | |
static void | uninitialized_copy (T1 *I, T1 *E, T2 *Dest) |
SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's.
Definition at line 271 of file SmallVector.h.
llvm::SmallVectorTemplateBase< T, true >::SmallVectorTemplateBase | ( | size_t | Size | ) | [inline, protected] |
Definition at line 273 of file SmallVector.h.
static void llvm::SmallVectorTemplateBase< T, true >::destroy_range | ( | T * | , |
T * | |||
) | [inline, static, protected] |
Definition at line 276 of file SmallVector.h.
void llvm::SmallVectorTemplateBase< T, true >::grow | ( | size_t | MinSize = 0 | ) | [inline, protected] |
Double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified.
Definition at line 320 of file SmallVector.h.
References llvm::SmallVectorTemplateCommon< T >::grow_pod().
static It2 llvm::SmallVectorTemplateBase< T, true >::move | ( | It1 | I, |
It1 | E, | ||
It2 | Dest | ||
) | [inline, static, protected] |
Use move-assignment to move the range [I, E) onto the objects starting with "Dest". For PODs, this is just memcpy.
Definition at line 281 of file SmallVector.h.
static It2 llvm::SmallVectorTemplateBase< T, true >::move_backward | ( | It1 | I, |
It1 | E, | ||
It2 | Dest | ||
) | [inline, static, protected] |
Use move-assignment to move the range [I, E) onto the objects ending at "Dest", moving objects in reverse order.
Definition at line 288 of file SmallVector.h.
void llvm::SmallVectorTemplateBase< T, true >::pop_back | ( | ) | [inline] |
Definition at line 331 of file SmallVector.h.
References llvm::SmallVectorTemplateCommon< T >::end(), and llvm::SmallVectorTemplateCommon< T >::setEnd().
void llvm::SmallVectorTemplateBase< T, true >::push_back | ( | const T & | Elt | ) | [inline] |
Definition at line 324 of file SmallVector.h.
References llvm::SmallVectorBase::CapacityX, llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallVectorBase::EndX, llvm::SmallVectorTemplateBase< T, isPodLike >::grow(), LLVM_UNLIKELY, llvm::LibFunc::memcpy, and llvm::SmallVectorTemplateCommon< T >::setEnd().
static void llvm::SmallVectorTemplateBase< T, true >::uninitialized_copy | ( | It1 | I, |
It1 | E, | ||
It2 | Dest | ||
) | [inline, static, protected] |
Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
Definition at line 303 of file SmallVector.h.
References llvm::SmallVectorTemplateBase< T, isPodLike >::uninitialized_copy().
static void llvm::SmallVectorTemplateBase< T, true >::uninitialized_copy | ( | T1 * | I, |
T1 * | E, | ||
T2 * | Dest | ||
) | [inline, static, protected] |
Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
Definition at line 311 of file SmallVector.h.
References llvm::LibFunc::memcpy.
static void llvm::SmallVectorTemplateBase< T, true >::uninitialized_move | ( | It1 | I, |
It1 | E, | ||
It2 | Dest | ||
) | [inline, static, protected] |
Move the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
Definition at line 295 of file SmallVector.h.
References llvm::SmallVectorTemplateBase< T, isPodLike >::uninitialized_copy().