dune-istl  2.4.1-rc2
Public Types | Public Member Functions | List of all members
Dune::Amg::MatrixGraph< M >::VertexIteratorT< C > Class Template Reference

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

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

Public Types

enum  { isMutable = is_same<C, MutableContainer>::value }
 
typedef remove_const< C >::type MutableContainer
 The mutable type of the container type. More...
 
typedef const remove_const< C >
::type 
ConstContainer
 The constant type of the container type. More...
 
typedef conditional< 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. More...
 
 VertexIteratorT (const VertexDescriptor &current)
 Constructor for the end iterator. More...
 
 VertexIteratorT (const VertexIteratorT< MutableContainer > &other)
 
VertexIteratorT< C > & operator++ ()
 Move to the next vertex. More...
 
bool operator!= (const VertexIteratorT< ConstContainer > &other) const
 Inequality operator. More...
 
bool operator== (const VertexIteratorT< ConstContainer > &other) const
 Equality operator. More...
 
bool operator!= (const VertexIteratorT< MutableContainer > &other) const
 Inequality operator. More...
 
bool operator== (const VertexIteratorT< MutableContainer > &other) const
 Equality operator. More...
 
WeightTypeweight () const
 Access the weight of the vertex. More...
 
const VertexDescriptoroperator* () const
 Get the descriptor of the current vertex. More...
 
EdgeIteratorT< C > begin () const
 Get an iterator over all edges starting at the current vertex. More...
 
EdgeIteratorT< C > end () const
 Get an iterator over all edges starting at the current vertex. More...
 

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 conditional<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.


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