template<typename T, bool isPodLike>
llvm::SmallVectorTemplateBase class

SmallVectorTemplateBase<isPodLike = false> - This is where we put method implementations that are designed to work with non-POD-like T's.

Base classes

template<typename T, typename = void>
class SmallVectorTemplateCommon

Protected static functions

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)

Protected functions

void grow(size_t MinSize = 0)

Function documentation

template<typename T, bool isPodLike> template<typename It1, typename It2>
static void llvm::SmallVectorTemplateBase<T, isPodLike>::uninitialized_move(It1 I, It1 E, It2 Dest) protected

Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.

template<typename T, bool isPodLike> template<typename It1, typename It2>
static void llvm::SmallVectorTemplateBase<T, isPodLike>::uninitialized_copy(It1 I, It1 E, It2 Dest) protected

Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed.

template<typename T, bool isPodLike>
void llvm::SmallVectorTemplateBase<T, isPodLike>::grow(size_t MinSize = 0) protected

Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory. Guarantees hub for at least one more element, or MinSize more elements if specified.