dune-istl  2.2.0
Public Types | Public Member Functions | Friends
Dune::Amg::MatrixGraph< M >::VertexIteratorT< C > Class Template Reference

The vertex iterator type of the graph. More...

#include <dune/istl/paamg/graph.hh>

List of all members.

Public Types

enum  { isMutable = is_same<C, MutableContainer>::value }
typedef remove_const< C >::type MutableContainer
 The mutable type of the container type.
typedef const remove_const< C >
::type 
ConstContainer
 The constant type of the container type.
typedef SelectType< is_same< C,
typename remove_const< C >
::type >::value
&&C::mutableMatrix, typename
M::block_type, const typename
M::block_type >::Type 
WeightType

Public Member Functions

 VertexIteratorT (C *graph, const VertexDescriptor &current)
 Constructor.
 VertexIteratorT (const VertexDescriptor &current)
 Constructor for the end iterator.
 VertexIteratorT (const VertexIteratorT< MutableContainer > &other)
VertexIteratorT< C > & operator++ ()
 Move to the next vertex.
bool operator!= (const VertexIteratorT< ConstContainer > &other) const
 Inequality operator.
bool operator== (const VertexIteratorT< ConstContainer > &other) const
 Equality operator.
bool operator!= (const VertexIteratorT< MutableContainer > &other) const
 Inequality operator.
bool operator== (const VertexIteratorT< MutableContainer > &other) const
 Equality operator.
WeightTypeweight () const
 Access the weight of the vertex.
const VertexDescriptoroperator* () const
 Get the descriptor of the current vertex.
EdgeIteratorT< C > begin () const
 Get an iterator over all edges starting at the current vertex.
EdgeIteratorT< C > end () const
 Get an iterator over all edges starting at the current vertex.

Friends

class VertexIteratorT< MutableContainer >
class VertexIteratorT< ConstContainer >

Detailed Description

template<class M>
template<class C>
class Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >

The vertex iterator type of the graph.


Member Typedef Documentation

template<class M>
template<class C>
typedef const remove_const<C>::type Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::ConstContainer

The constant type of the container type.

template<class M>
template<class C>
typedef remove_const<C>::type Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::MutableContainer

The mutable type of the container type.

template<class M>
template<class C>
typedef SelectType<is_same<C, typename remove_const<C>::type>::value && C::mutableMatrix, typename M::block_type, const typename M::block_type>::Type Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::WeightType

Member Enumeration Documentation

template<class M>
template<class C>
anonymous enum
Enumerator:
isMutable 

whether C is mutable.


Constructor & Destructor Documentation

template<class M>
template<class C>
Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::VertexIteratorT ( C *  graph,
const VertexDescriptor current 
) [explicit]

Constructor.

Parameters:
graphThe graph we are a vertex iterator for.
currentThe current vertex to position on.
template<class M>
template<class C>
Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::VertexIteratorT ( const VertexDescriptor current) [explicit]

Constructor for the end iterator.

only operator== or operator!= may be called safely on an iterator constructed this way.

Parameters:
currentThe current vertex to position on.
template<class M>
template<class C>
Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::VertexIteratorT ( const VertexIteratorT< MutableContainer > &  other)

Member Function Documentation

template<class M>
template<class C>
EdgeIteratorT<C> Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::begin ( ) const

Get an iterator over all edges starting at the current vertex.

Returns:
Iterator position on the first edge to another vertex.
template<class M>
template<class C>
EdgeIteratorT<C> Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::end ( ) const

Get an iterator over all edges starting at the current vertex.

Returns:
Iterator position on the first edge to another vertex.
template<class M>
template<class C>
bool Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::operator!= ( const VertexIteratorT< ConstContainer > &  other) const

Inequality operator.

template<class M>
template<class C>
bool Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::operator!= ( const VertexIteratorT< MutableContainer > &  other) const

Inequality operator.

template<class M>
template<class C>
const VertexDescriptor& Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::operator* ( ) const

Get the descriptor of the current vertex.

Returns:
The index of the currently referenced vertex.
template<class M>
template<class C>
VertexIteratorT<C>& Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::operator++ ( )

Move to the next vertex.

Returns:
This iterator positioned at the next vertex.
template<class M>
template<class C>
bool Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::operator== ( const VertexIteratorT< ConstContainer > &  other) const

Equality operator.

template<class M>
template<class C>
bool Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::operator== ( const VertexIteratorT< MutableContainer > &  other) const

Equality operator.

template<class M>
template<class C>
WeightType& Dune::Amg::MatrixGraph< M >::VertexIteratorT< C >::weight ( ) const

Access the weight of the vertex.


Friends And Related Function Documentation

template<class M>
template<class C>
friend class VertexIteratorT< ConstContainer > [friend]
template<class M>
template<class C>
friend class VertexIteratorT< MutableContainer > [friend]

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