LLVM API Documentation

llvm::SetVector< T, Vector, Set > Class Template Reference

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

#include <SetVector.h>

Inheritance diagram for llvm::SetVector< T, Vector, Set >:

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

Collaboration graph
[legend]

List of all members.

Public Types

typedef T value_type
typedef T key_type
typedef Treference
typedef const Tconst_reference
typedef Set set_type
typedef Vector vector_type
typedef vector_type::const_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, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
class llvm::SetVector< T, Vector, Set >

A vector that has set insertion semantics.

This adapter 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 36 of file SetVector.h.


Member Typedef Documentation

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
typedef T llvm::SetVector< T, Vector, Set >::value_type

Definition at line 38 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
typedef T llvm::SetVector< T, Vector, Set >::key_type

Definition at line 39 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
typedef T& llvm::SetVector< T, Vector, Set >::reference

Definition at line 40 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
typedef const T& llvm::SetVector< T, Vector, Set >::const_reference

Definition at line 41 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
typedef Set llvm::SetVector< T, Vector, Set >::set_type

Definition at line 42 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
typedef Vector llvm::SetVector< T, Vector, Set >::vector_type

Definition at line 43 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
typedef vector_type::const_iterator llvm::SetVector< T, Vector, Set >::iterator

Definition at line 44 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
typedef vector_type::const_iterator llvm::SetVector< T, Vector, Set >::const_iterator

Definition at line 45 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
typedef vector_type::size_type llvm::SetVector< T, Vector, Set >::size_type

Definition at line 46 of file SetVector.h.


Constructor & Destructor Documentation

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
llvm::SetVector< T, Vector, Set >::SetVector (  )  [inline]

Construct an empty SetVector.

Definition at line 49 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
template<typename It>
llvm::SetVector< T, Vector, Set >::SetVector ( It  Start,
It  End 
) [inline]

Initialize a SetVector with a range of elements.

Definition at line 53 of file SetVector.h.


Member Function Documentation

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
bool llvm::SetVector< T, Vector, Set >::empty (  )  const [inline]

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
size_type llvm::SetVector< T, Vector, Set >::size (  )  const [inline]

Determine the number of elements in the SetVector.

Definition at line 63 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
iterator llvm::SetVector< T, Vector, Set >::begin (  )  [inline]

Get an iterator to the beginning of the SetVector.

Definition at line 68 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
const_iterator llvm::SetVector< T, Vector, Set >::begin (  )  const [inline]

Get a const_iterator to the beginning of the SetVector.

Definition at line 73 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
iterator llvm::SetVector< T, Vector, Set >::end (  )  [inline]

Get an iterator to the end of the SetVector.

Definition at line 78 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
const_iterator llvm::SetVector< T, Vector, Set >::end (  )  const [inline]

Get a const_iterator to the end of the SetVector.

Definition at line 83 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
const T& llvm::SetVector< T, Vector, Set >::back (  )  const [inline]

Return the last element of the SetVector.

Definition at line 88 of file SetVector.h.

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

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
const_reference llvm::SetVector< T, Vector, Set >::operator[] ( size_type  n  )  const [inline]

Index into the SetVector.

Definition at line 94 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
bool llvm::SetVector< T, Vector, Set >::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 101 of file SetVector.h.

Referenced by llvm::SetVector< T, llvm::SmallVector< T, N >, llvm::SmallSet< T, N > >::SetVector(), and llvm::SmallSetVector< T, N >::SmallSetVector().

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
template<typename It>
void llvm::SetVector< T, Vector, Set >::insert ( It  Start,
It  End 
) [inline]

Insert a range of elements into the SetVector.

Definition at line 110 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
void llvm::SetVector< T, Vector, Set >::remove ( const value_type X  )  [inline]

Remove an item from the set vector.

Definition at line 117 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
size_type llvm::SetVector< T, Vector, Set >::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 129 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
void llvm::SetVector< T, Vector, Set >::clear (  )  [inline]

Completely clear the SetVector.

Definition at line 134 of file SetVector.h.

template<typename T, typename Vector = std::vector<T>, typename Set = SmallSet<T, 16>>
void llvm::SetVector< T, Vector, Set >::pop_back (  )  [inline]

Remove the last element of the SetVector.

Definition at line 140 of file SetVector.h.


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



This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.