Loading...
Searching...
No Matches
Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C > Class Template Reference

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

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

Inheritance diagram for Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >:

## 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.
typedef std::conditional< std::is_same< C, typenamestd::remove_const< C >::type >::value &&C::mutableMatrix, typenameM::block_type, consttypenameM::block_type >::type | WeightType

## Public Member Functions

| EdgeIteratorT (const VertexDescriptor &source, const ColIterator &block, const ColIterator &end, const EdgeDescriptor &edge)
| Constructor.
| EdgeIteratorT (const ColIterator &block)
| Constructor for the end iterator.
template<class C1>
| EdgeIteratorT (const EdgeIteratorT< C1 > &other)
| Copy Constructor.
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 EdgeDescriptor & | operator* () const
| Get the edge descriptor.
const EdgeDescriptor * | operator-> () const
| Get the edge descriptor.

## Friends

class | EdgeIteratorT< MutableContainer >
class | EdgeIteratorT< ConstContainer >

## Detailed Description

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

Iterator over all edges starting from a vertex.

## Member Typedef Documentation

## ColIterator

template<class M>
template<class C>

typedef std::conditional<isMutable&&C::mutableMatrix,typenameMatrix::row_type::Iterator,typenameMatrix::row_type::ConstIterator>::type Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::ColIterator

The column iterator of the matrix we use.

## ConstContainer

template<class M>
template<class C>

typedef const std::remove_const<C>::type Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::ConstContainer

The constant type of the container type.

## MutableContainer

template<class M>
template<class C>

typedef std::remove_const<C>::type Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::MutableContainer

The mutable type of the container type.

## Weight

template<class M>
template<class C>

typedef std::conditional<isMutable&&C::mutableMatrix,typenameM::block_type,consttypenameM::block_type>::type Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::Weight

The matrix block type we use as weights.

## WeightType

template<class M>
template<class C>

typedef std::conditional<std::is_same<C,typenamestd::remove_const<C>::type>::value&&C::mutableMatrix,typenameM::block_type,consttypenameM::block_type>::type Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::WeightType

## 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

  source | The source vertex of the edges.
  block | The matrix column block the iterator is initialized to,
  end | The end iterator of the matrix row.
  edge | The 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

  block | The 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

  other | The iterator to copy.

## Member Function Documentation

## operator!=() [1/2]

template<class M>
template<class C>

bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator!= | ( | const EdgeIteratorT< const typename std::remove_const< C >::type > & | other | ) | const

Inequality operator.

## operator!=() [2/2]

template<class M>
template<class C>

bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator!= | ( | const EdgeIteratorT< typename std::remove_const< C >::type > & | other | ) | const

Inequality operator.

## operator*()

template<class M>
template<class C>

const EdgeDescriptor & Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator* | ( |  | ) | const

Get the edge descriptor.

## operator++()

template<class M>
template<class C>

EdgeIteratorT< C > & Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator++ | ( |  | ) |

preincrement operator.

## operator->()

template<class M>
template<class C>

const EdgeDescriptor * Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator-> | ( |  | ) | const

Get the edge descriptor.

## operator==() [1/2]

template<class M>
template<class C>

bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator== | ( | const EdgeIteratorT< const typename std::remove_const< C >::type > & | other | ) | const

Equality operator.

## operator==() [2/2]

template<class M>
template<class C>

bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator== | ( | const EdgeIteratorT< typename std::remove_const< C >::type > & | other | ) | const

Equality operator.

## source()

template<class M>
template<class C>

VertexDescriptor Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::source | ( |  | ) | const

The index of the source vertex of the current edge.

## target()

template<class M>
template<class C>

VertexDescriptor Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::target | ( |  | ) | const

The index of the target vertex of the current edge.

## weight()

template<class M>
template<class C>

WeightType & Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::weight | ( |  | ) | const

Access the edge weight.

## Friends And Related Symbol Documentation

## EdgeIteratorT< ConstContainer >

template<class M>
template<class C>

friend class EdgeIteratorT< ConstContainer >

friend

## EdgeIteratorT< MutableContainer >

template<class M>
template<class C>

friend class EdgeIteratorT< MutableContainer >

friend

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

- graph.hh