llvm::SmallVector< T, N > Class Template Reference

SmallVector - This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small. More...

#include <SmallVector.h>

Inheritance diagram for llvm::SmallVector< T, N >:
llvm::SmallVectorImpl< T > llvm::SmallVectorTemplateBase< T, isPodLike< T >::value > llvm::SmallVectorTemplateCommon< T > llvm::SmallVectorBase

List of all members.

Public Member Functions

 SmallVector ()
 SmallVector (unsigned Size, const T &Value=T())
template<typename ItTy >
 SmallVector (ItTy S, ItTy E)
 SmallVector (const SmallVector &RHS)
const SmallVectoroperator= (const SmallVector &RHS)

Private Types

enum  { MinUs, NumInlineEltsElts = MinUs > 1 ? (MinUs - 1) : 1, NumTsAvailable }
typedef SmallVectorImpl< T >::U U
 InlineElts - These are 'N-1' elements that are stored inline in the body of the vector.

Private Attributes

U InlineElts [NumInlineEltsElts]

Detailed Description

template<typename T, unsigned N>
class llvm::SmallVector< T, N >

SmallVector - This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

It contains some number of elements in-place, which allows it to avoid heap allocation when the actual number of elements is below that threshold. This allows normal "small" cases to be fast without losing generality for large inputs.

Note that this does not attempt to be exception safe.


Member Typedef Documentation

template<typename T, unsigned N>
typedef SmallVectorImpl<T>::U llvm::SmallVector< T, N >::U [private]

InlineElts - These are 'N-1' elements that are stored inline in the body of the vector.

The extra '1' element is stored in SmallVectorImpl.


Member Enumeration Documentation

template<typename T, unsigned N>
anonymous enum [private]
Enumerator:
MinUs 
NumInlineEltsElts 
NumTsAvailable 

Constructor & Destructor Documentation

template<typename T, unsigned N>
llvm::SmallVector< T, N >::SmallVector (  )  [inline]
template<typename T, unsigned N>
llvm::SmallVector< T, N >::SmallVector ( unsigned  Size,
const T &  Value = T() 
) [inline, explicit]
template<typename T, unsigned N>
template<typename ItTy >
llvm::SmallVector< T, N >::SmallVector ( ItTy  S,
ItTy  E 
) [inline]
template<typename T, unsigned N>
llvm::SmallVector< T, N >::SmallVector ( const SmallVector< T, N > &  RHS  )  [inline]

Member Function Documentation

template<typename T, unsigned N>
const SmallVector& llvm::SmallVector< T, N >::operator= ( const SmallVector< T, N > &  RHS  )  [inline]

Reimplemented from llvm::SmallVectorImpl< T >.


Member Data Documentation

template<typename T, unsigned N>
U llvm::SmallVector< T, N >::InlineElts[NumInlineEltsElts] [private]

The documentation for this class was generated from the following file:

Generated on 2 Nov 2013 for Galois by  doxygen 1.6.1