LLVM  mainline
Public Types | Public Member Functions
llvm::TinyPtrVector< EltTy > Class Template Reference

TinyPtrVector - This class is specialized for cases where there are normally 0 or 1 element in a vector, but is general enough to go beyond that when required. More...

#include <TinyPtrVector.h>

Inheritance diagram for llvm::TinyPtrVector< EltTy >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef llvm::SmallVector
< EltTy, 4 > 
VecTy
typedef VecTy::value_type value_type
typedef llvm::PointerUnion
< EltTy, VecTy * > 
PtrUnion
typedef const EltTy * const_iterator
typedef EltTy * iterator

Public Member Functions

 TinyPtrVector ()
 ~TinyPtrVector ()
 TinyPtrVector (const TinyPtrVector &RHS)
TinyPtrVectoroperator= (const TinyPtrVector &RHS)
 TinyPtrVector (TinyPtrVector &&RHS)
TinyPtrVectoroperator= (TinyPtrVector &&RHS)
 TinyPtrVector (ArrayRef< EltTy > Elts)
 Constructor from an ArrayRef.
 operator ArrayRef< EltTy > () const
 operator MutableArrayRef< EltTy > ()
bool empty () const
unsigned size () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
EltTy operator[] (unsigned i) const
EltTy front () const
EltTy back () const
void push_back (EltTy NewVal)
void pop_back ()
void clear ()
iterator erase (iterator I)
iterator erase (iterator S, iterator E)
iterator insert (iterator I, const EltTy &Elt)
template<typename ItTy >
iterator insert (iterator I, ItTy From, ItTy To)

Detailed Description

template<typename EltTy>
class llvm::TinyPtrVector< EltTy >

TinyPtrVector - This class is specialized for cases where there are normally 0 or 1 element in a vector, but is general enough to go beyond that when required.

NOTE: This container doesn't allow you to store a null pointer into it.

Definition at line 26 of file TinyPtrVector.h.


Member Typedef Documentation

template<typename EltTy>
typedef const EltTy* llvm::TinyPtrVector< EltTy >::const_iterator

Definition at line 145 of file TinyPtrVector.h.

template<typename EltTy>
typedef EltTy* llvm::TinyPtrVector< EltTy >::iterator

Definition at line 146 of file TinyPtrVector.h.

template<typename EltTy>
typedef llvm::PointerUnion<EltTy, VecTy *> llvm::TinyPtrVector< EltTy >::PtrUnion

Definition at line 30 of file TinyPtrVector.h.

template<typename EltTy>
typedef VecTy::value_type llvm::TinyPtrVector< EltTy >::value_type

Definition at line 29 of file TinyPtrVector.h.

template<typename EltTy>
typedef llvm::SmallVector<EltTy, 4> llvm::TinyPtrVector< EltTy >::VecTy

Definition at line 28 of file TinyPtrVector.h.


Constructor & Destructor Documentation

template<typename EltTy>
llvm::TinyPtrVector< EltTy >::TinyPtrVector ( ) [inline]

Definition at line 36 of file TinyPtrVector.h.

template<typename EltTy>
llvm::TinyPtrVector< EltTy >::~TinyPtrVector ( ) [inline]

Definition at line 37 of file TinyPtrVector.h.

template<typename EltTy>
llvm::TinyPtrVector< EltTy >::TinyPtrVector ( const TinyPtrVector< EltTy > &  RHS) [inline]

Definition at line 42 of file TinyPtrVector.h.

template<typename EltTy>
llvm::TinyPtrVector< EltTy >::TinyPtrVector ( TinyPtrVector< EltTy > &&  RHS) [inline]

Definition at line 74 of file TinyPtrVector.h.

template<typename EltTy>
llvm::TinyPtrVector< EltTy >::TinyPtrVector ( ArrayRef< EltTy >  Elts) [inline, explicit]

Constructor from an ArrayRef.

This also is a constructor for individual array elements due to the single element constructor for ArrayRef.

Definition at line 106 of file TinyPtrVector.h.


Member Function Documentation

template<typename EltTy>
EltTy llvm::TinyPtrVector< EltTy >::back ( ) const [inline]

Definition at line 188 of file TinyPtrVector.h.

Referenced by llvm::TinyPtrVector< MCSymbol * >::back().

template<typename EltTy>
iterator llvm::TinyPtrVector< EltTy >::begin ( ) [inline]
template<typename EltTy>
const_iterator llvm::TinyPtrVector< EltTy >::begin ( ) const [inline]

Definition at line 161 of file TinyPtrVector.h.

template<typename EltTy>
void llvm::TinyPtrVector< EltTy >::clear ( ) [inline]
template<typename EltTy>
bool llvm::TinyPtrVector< EltTy >::empty ( ) const [inline]
template<typename EltTy>
iterator llvm::TinyPtrVector< EltTy >::end ( ) [inline]
template<typename EltTy>
const_iterator llvm::TinyPtrVector< EltTy >::end ( ) const [inline]

Definition at line 165 of file TinyPtrVector.h.

template<typename EltTy>
iterator llvm::TinyPtrVector< EltTy >::erase ( iterator  I) [inline]

Definition at line 233 of file TinyPtrVector.h.

template<typename EltTy>
iterator llvm::TinyPtrVector< EltTy >::erase ( iterator  S,
iterator  E 
) [inline]

Definition at line 249 of file TinyPtrVector.h.

template<typename EltTy>
EltTy llvm::TinyPtrVector< EltTy >::front ( ) const [inline]
template<typename EltTy>
iterator llvm::TinyPtrVector< EltTy >::insert ( iterator  I,
const EltTy &  Elt 
) [inline]

Definition at line 263 of file TinyPtrVector.h.

Referenced by llvm::TinyPtrVector< MCSymbol * >::insert().

template<typename EltTy>
template<typename ItTy >
iterator llvm::TinyPtrVector< EltTy >::insert ( iterator  I,
ItTy  From,
ItTy  To 
) [inline]

Definition at line 282 of file TinyPtrVector.h.

template<typename EltTy>
llvm::TinyPtrVector< EltTy >::operator ArrayRef< EltTy > ( ) const [inline]

Definition at line 111 of file TinyPtrVector.h.

template<typename EltTy>
llvm::TinyPtrVector< EltTy >::operator MutableArrayRef< EltTy > ( ) [inline]

Definition at line 120 of file TinyPtrVector.h.

template<typename EltTy>
TinyPtrVector& llvm::TinyPtrVector< EltTy >::operator= ( const TinyPtrVector< EltTy > &  RHS) [inline]

Definition at line 46 of file TinyPtrVector.h.

template<typename EltTy>
TinyPtrVector& llvm::TinyPtrVector< EltTy >::operator= ( TinyPtrVector< EltTy > &&  RHS) [inline]

Definition at line 77 of file TinyPtrVector.h.

template<typename EltTy>
EltTy llvm::TinyPtrVector< EltTy >::operator[] ( unsigned  i) const [inline]

Definition at line 169 of file TinyPtrVector.h.

template<typename EltTy>
void llvm::TinyPtrVector< EltTy >::pop_back ( ) [inline]

Definition at line 214 of file TinyPtrVector.h.

template<typename EltTy>
void llvm::TinyPtrVector< EltTy >::push_back ( EltTy  NewVal) [inline]
template<typename EltTy>
unsigned llvm::TinyPtrVector< EltTy >::size ( ) const [inline]

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