Dune Core Modules (2.7.0)

Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C > Class Template Reference

Iterator over all edges starting from a vertex. More...

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

Public Types

enum  { isMutable = std::is_same<C, MutableContainer>::value }
 
typedef std::remove_const< C >::type MutableContainer
 The mutable type of the container type.
 
typedef const std::remove_const< C >::type ConstContainer
 The constant type of the container type.
 
typedef std::conditional< isMutable &&C::mutableMatrix, typenameMatrix::row_type::Iterator, typenameMatrix::row_type::ConstIterator >::type ColIterator
 The column iterator of the matrix we use.
 
typedef std::conditional< isMutable &&C::mutableMatrix, typenameM::block_type, consttypenameM::block_type >::type Weight
 The matrix block type we use as weights.
 

Public Member Functions

 EdgeIteratorT (const VertexDescriptor &source, const ColIterator &block, const ColIterator &end, const EdgeDescriptor &edge)
 Constructor. More...
 
 EdgeIteratorT (const ColIterator &block)
 Constructor for the end iterator. More...
 
template<class C1 >
 EdgeIteratorT (const EdgeIteratorT< C1 > &other)
 Copy Constructor. More...
 
WeightType & weight () const
 Access the edge weight.
 
EdgeIteratorT< C > & operator++ ()
 preincrement operator.
 
bool operator!= (const EdgeIteratorT< typename std::remove_const< C >::type > &other) const
 Inequality operator.
 
bool operator!= (const EdgeIteratorT< const typename std::remove_const< C >::type > &other) const
 Inequality operator.
 
bool operator== (const EdgeIteratorT< typename std::remove_const< C >::type > &other) const
 Equality operator.
 
bool operator== (const EdgeIteratorT< const typename std::remove_const< C >::type > &other) const
 Equality operator.
 
VertexDescriptor target () const
 The index of the target vertex of the current edge.
 
VertexDescriptor source () const
 The index of the source vertex of the current edge.
 
const EdgeDescriptoroperator* () const
 Get the edge descriptor.
 
const EdgeDescriptoroperator-> () const
 Get the edge descriptor.
 

Detailed Description

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

Iterator over all edges starting from a vertex.

Member Enumeration Documentation

◆ anonymous enum

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

whether C is mutable.

Constructor & Destructor Documentation

◆ EdgeIteratorT() [1/3]

template<class M >
template<class C >
Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::EdgeIteratorT ( const VertexDescriptor source,
const ColIterator block,
const ColIterator end,
const EdgeDescriptor edge 
)

Constructor.

Parameters
sourceThe source vertex of the edges.
blockThe matrix column block the iterator is initialized to,
endThe end iterator of the matrix row.
edgeThe edge descriptor of the current edge.

◆ EdgeIteratorT() [2/3]

template<class M >
template<class C >
Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::EdgeIteratorT ( const ColIterator block)

Constructor for the end iterator.

Variables not needed by operator== or operator!= will not be initialized.

Parameters
blockThe matrix column block the iterator is initialized to.

◆ EdgeIteratorT() [3/3]

template<class M >
template<class C >
template<class C1 >
Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::EdgeIteratorT ( const EdgeIteratorT< C1 > &  other)

Copy Constructor.

Parameters
otherThe iterator to copy.

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Oct 13, 22:30, 2024)