LLVM API Documentation

llvm::SetVector< T > Class Template Reference

A vector that has set insertion semantics. More...

#include <SetVector.h>

Collaboration diagram for llvm::SetVector< T >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef T value_type
typedef T key_type
typedef Treference
typedef const Tconst_reference
typedef std::set< value_typeset_type
typedef std::vector< value_typevector_type
typedef vector_type::iterator iterator
typedef vector_type::const_iterator const_iterator
typedef vector_type::size_type size_type

Public Member Functions

 SetVector ()
 Construct an empty SetVector.
template<typename It>
 SetVector (It Start, It End)
 Initialize a SetVector with a range of elements.
bool empty () const
 Determine if the SetVector is empty or not.
size_type size () const
 Determine the number of elements in the SetVector.
iterator begin ()
 Get an iterator to the beginning of the SetVector.
const_iterator begin () const
 Get a const_iterator to the beginning of the SetVector.
iterator end ()
 Get an iterator to the end of the SetVector.
const_iterator end () const
 Get a const_iterator to the end of the SetVector.
const Tback () const
 Return the last element of the SetVector.
const_reference operator[] (size_type n) const
 Index into the SetVector.
bool insert (const value_type &X)
 Insert a new element into the SetVector.
template<typename It>
void insert (It Start, It End)
 Insert a range of elements into the SetVector.
void remove (const value_type &X)
 Remove an item from the set vector.
size_type count (const key_type &key) const
 Count the number of elements of a given key in the SetVector.
void clear ()
 Completely clear the SetVector.
void pop_back ()
 Remove the last element of the SetVector.

Detailed Description

template<typename T>
class llvm::SetVector< T >

A vector that has set insertion semantics.

This class provides a way to keep a set of things that also has the property of a deterministic iteration order. The order of iteration is the order of insertion.

Definition at line 32 of file SetVector.h.


Member Typedef Documentation

template<typename T>
typedef vector_type::const_iterator llvm::SetVector< T >::const_iterator

Definition at line 41 of file SetVector.h.

template<typename T>
typedef const T& llvm::SetVector< T >::const_reference

Definition at line 37 of file SetVector.h.

template<typename T>
typedef vector_type::iterator llvm::SetVector< T >::iterator

Definition at line 40 of file SetVector.h.

template<typename T>
typedef T llvm::SetVector< T >::key_type

Definition at line 35 of file SetVector.h.

template<typename T>
typedef T& llvm::SetVector< T >::reference

Definition at line 36 of file SetVector.h.

template<typename T>
typedef std::set<value_type> llvm::SetVector< T >::set_type

Definition at line 38 of file SetVector.h.

template<typename T>
typedef vector_type::size_type llvm::SetVector< T >::size_type

Definition at line 42 of file SetVector.h.

template<typename T>
typedef T llvm::SetVector< T >::value_type

Definition at line 34 of file SetVector.h.

template<typename T>
typedef std::vector<value_type> llvm::SetVector< T >::vector_type

Definition at line 39 of file SetVector.h.


Constructor & Destructor Documentation

template<typename T>
llvm::SetVector< T >::SetVector (  )  [inline]

Construct an empty SetVector.

Definition at line 45 of file SetVector.h.

template<typename T>
template<typename It>
llvm::SetVector< T >::SetVector ( It  Start,
It  End 
) [inline]

Initialize a SetVector with a range of elements.

Definition at line 49 of file SetVector.h.

References llvm::SetVector< T >::insert().


Member Function Documentation

template<typename T>
const T& llvm::SetVector< T >::back (  )  const [inline]

Return the last element of the SetVector.

Definition at line 84 of file SetVector.h.

References llvm::SetVector< T >::empty().

Referenced by llvm::SetVector< T >::pop_back().

template<typename T>
const_iterator llvm::SetVector< T >::begin (  )  const [inline]

Get a const_iterator to the beginning of the SetVector.

Definition at line 69 of file SetVector.h.

template<typename T>
iterator llvm::SetVector< T >::begin (  )  [inline]

Get an iterator to the beginning of the SetVector.

Definition at line 64 of file SetVector.h.

Referenced by llvm::V9LiveRange::begin(), llvm::Module::lib_begin(), and llvm::Linker::LinkInLibraries().

template<typename T>
void llvm::SetVector< T >::clear (  )  [inline]

Completely clear the SetVector.

Definition at line 129 of file SetVector.h.

Referenced by llvm::GetBytecodeDependentLibraries(), and llvm::Module::~Module().

template<typename T>
size_type llvm::SetVector< T >::count ( const key_type key  )  const [inline]

Count the number of elements of a given key in the SetVector.

Returns:
0 if the element is not in the SetVector, 1 if it is.

Definition at line 124 of file SetVector.h.

template<typename T>
bool llvm::SetVector< T >::empty (  )  const [inline]

Determine if the SetVector is empty or not.

Definition at line 54 of file SetVector.h.

Referenced by llvm::SetVector< T >::back(), and llvm::SetVector< T >::pop_back().

template<typename T>
const_iterator llvm::SetVector< T >::end (  )  const [inline]

Get a const_iterator to the end of the SetVector.

Definition at line 79 of file SetVector.h.

template<typename T>
iterator llvm::SetVector< T >::end (  )  [inline]

Get an iterator to the end of the SetVector.

Definition at line 74 of file SetVector.h.

Referenced by llvm::V9LiveRange::end(), llvm::Module::lib_end(), and llvm::Linker::LinkInLibraries().

template<typename T>
template<typename It>
void llvm::SetVector< T >::insert ( It  Start,
It  End 
) [inline]

Insert a range of elements into the SetVector.

Definition at line 106 of file SetVector.h.

template<typename T>
bool llvm::SetVector< T >::insert ( const value_type X  )  [inline]

Insert a new element into the SetVector.

Returns:
true iff the element was inserted into the SetVector.

Definition at line 97 of file SetVector.h.

Referenced by llvm::Module::addLibrary(), llvm::V9LiveRange::insert(), and llvm::SetVector< T >::SetVector().

template<typename T>
const_reference llvm::SetVector< T >::operator[] ( size_type  n  )  const [inline]

Index into the SetVector.

Definition at line 90 of file SetVector.h.

template<typename T>
void llvm::SetVector< T >::pop_back (  )  [inline]

Remove the last element of the SetVector.

Definition at line 135 of file SetVector.h.

References llvm::SetVector< T >::back(), and llvm::SetVector< T >::empty().

template<typename T>
void llvm::SetVector< T >::remove ( const value_type X  )  [inline]

Remove an item from the set vector.

Definition at line 113 of file SetVector.h.

References I.

Referenced by llvm::Module::removeLibrary().

template<typename T>
size_type llvm::SetVector< T >::size (  )  const [inline]

Determine the number of elements in the SetVector.

Definition at line 59 of file SetVector.h.

Referenced by llvm::Module::lib_size().


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