LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::SetVector< T > Class Template Reference

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

#include <SetVector.h>

Inheritance diagram for llvm::SetVector< T >:

Inheritance graph
[legend]
Collaboration diagram for llvm::SetVector< T >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef T value_type
typedef T key_type
typedef T & reference
typedef const T & const_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 T & back () 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.


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.

Referenced by llvm::SetVector< const Value * >::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::LiveRange::begin(), llvm::Module::lib_begin(), llvm::LinkItems(), and llvm::LinkLibraries().

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< const Value * >::back(), and llvm::SetVector< const Value * >::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::LiveRange::end(), llvm::Module::lib_end(), llvm::LinkItems(), and llvm::LinkLibraries().

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::LiveRange::insert(), and llvm::SetVector< const Value * >::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.

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.

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: