LLVM API Documentation

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

#include <SmallVector.h>

Collaboration diagram for llvm::SmallVector< T, N >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef size_t size_type
typedef Titerator
typedef const Tconst_iterator
typedef Treference
typedef const Tconst_reference

Public Member Functions

 SmallVector ()
 SmallVector (const SmallVector &RHS)
 ~SmallVector ()
bool empty () const
size_type size () const
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reference operator[] (unsigned idx)
const_reference operator[] (unsigned idx) const
reference back ()
const_reference back () const
void push_back (const_reference Elt)
template<typename in_iter>
void append (in_iter in_start, in_iter in_end)
const SmallVectoroperator= (const SmallVector &RHS)

Classes

union  U

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.

Definition at line 33 of file SmallVector.h.


Member Typedef Documentation

template<typename T, unsigned N>
typedef size_t llvm::SmallVector< T, N >::size_type

Definition at line 74 of file SmallVector.h.

template<typename T, unsigned N>
typedef T* llvm::SmallVector< T, N >::iterator

Definition at line 75 of file SmallVector.h.

template<typename T, unsigned N>
typedef const T* llvm::SmallVector< T, N >::const_iterator

Definition at line 76 of file SmallVector.h.

template<typename T, unsigned N>
typedef T& llvm::SmallVector< T, N >::reference

Definition at line 77 of file SmallVector.h.

template<typename T, unsigned N>
typedef const T& llvm::SmallVector< T, N >::const_reference

Definition at line 78 of file SmallVector.h.


Constructor & Destructor Documentation

template<typename T, unsigned N>
llvm::SmallVector< T, N >::SmallVector (  )  [inline]

Definition at line 52 of file SmallVector.h.

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

Definition at line 55 of file SmallVector.h.

References llvm::SmallVector< T, N >::begin(), llvm::SmallVector< T, N >::end(), llvm::SmallVector< T, N >::size(), and T.

template<typename T, unsigned N>
llvm::SmallVector< T, N >::~SmallVector (  )  [inline]

Definition at line 68 of file SmallVector.h.


Member Function Documentation

template<typename T, unsigned N>
bool llvm::SmallVector< T, N >::empty (  )  const [inline]

Definition at line 80 of file SmallVector.h.

Referenced by llvm::SmallVector< T, N >::back().

template<typename T, unsigned N>
size_type llvm::SmallVector< T, N >::size (  )  const [inline]

Definition at line 81 of file SmallVector.h.

Referenced by llvm::SmallVector< T, N >::append(), llvm::SmallVector< T, N >::operator=(), llvm::SmallVector< T, N >::operator[](), and llvm::SmallVector< T, N >::SmallVector().

template<typename T, unsigned N>
iterator llvm::SmallVector< T, N >::begin (  )  [inline]

Definition at line 83 of file SmallVector.h.

Referenced by llvm::SmallVector< T, N >::SmallVector().

template<typename T, unsigned N>
const_iterator llvm::SmallVector< T, N >::begin (  )  const [inline]

Definition at line 84 of file SmallVector.h.

template<typename T, unsigned N>
iterator llvm::SmallVector< T, N >::end (  )  [inline]

Definition at line 86 of file SmallVector.h.

Referenced by llvm::SmallVector< T, N >::back(), and llvm::SmallVector< T, N >::SmallVector().

template<typename T, unsigned N>
const_iterator llvm::SmallVector< T, N >::end (  )  const [inline]

Definition at line 87 of file SmallVector.h.

template<typename T, unsigned N>
reference llvm::SmallVector< T, N >::operator[] ( unsigned  idx  )  [inline]

Definition at line 89 of file SmallVector.h.

References llvm::SmallVector< T, N >::size().

template<typename T, unsigned N>
const_reference llvm::SmallVector< T, N >::operator[] ( unsigned  idx  )  const [inline]

Definition at line 93 of file SmallVector.h.

References llvm::SmallVector< T, N >::size().

template<typename T, unsigned N>
reference llvm::SmallVector< T, N >::back (  )  [inline]

Definition at line 98 of file SmallVector.h.

References llvm::SmallVector< T, N >::empty(), and llvm::SmallVector< T, N >::end().

template<typename T, unsigned N>
const_reference llvm::SmallVector< T, N >::back (  )  const [inline]

Definition at line 102 of file SmallVector.h.

References llvm::SmallVector< T, N >::empty(), and llvm::SmallVector< T, N >::end().

template<typename T, unsigned N>
void llvm::SmallVector< T, N >::push_back ( const_reference  Elt  )  [inline]

Definition at line 107 of file SmallVector.h.

References T.

template<typename T, unsigned N>
template<typename in_iter>
void llvm::SmallVector< T, N >::append ( in_iter  in_start,
in_iter  in_end 
) [inline]

append - Add the specified range to the end of the SmallVector.

Definition at line 121 of file SmallVector.h.

References llvm::SmallVector< T, N >::size().

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

Definition at line 132 of file SmallVector.h.

References llvm::SmallVector< T, N >::Begin, E, llvm::SmallVector< T, N >::End, llvm::SmallVector< T, N >::size(), and T.


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