dune-istl 2.8.0
|
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. | |
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. | |
Iterator over all edges starting from a vertex.
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.
typedef const std::remove_const<C>::type Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::ConstContainer |
The constant type of the container type.
typedef std::remove_const<C>::type Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::MutableContainer |
The mutable type of the container type.
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.
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 |
Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::EdgeIteratorT | ( | const VertexDescriptor & | source, |
const ColIterator & | block, | ||
const ColIterator & | end, | ||
const EdgeDescriptor & | edge | ||
) |
Constructor.
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. |
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.
block | The matrix column block the iterator is initialized to. |
Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::EdgeIteratorT | ( | const EdgeIteratorT< C1 > & | other | ) |
Copy Constructor.
other | The iterator to copy. |
bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator!= | ( | const EdgeIteratorT< const typename std::remove_const< C >::type > & | other | ) | const |
Inequality operator.
bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator!= | ( | const EdgeIteratorT< typename std::remove_const< C >::type > & | other | ) | const |
Inequality operator.
const EdgeDescriptor & Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator* | ( | ) | const |
Get the edge descriptor.
EdgeIteratorT< C > & Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator++ | ( | ) |
preincrement operator.
const EdgeDescriptor * Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator-> | ( | ) | const |
Get the edge descriptor.
bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator== | ( | const EdgeIteratorT< const typename std::remove_const< C >::type > & | other | ) | const |
Equality operator.
bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator== | ( | const EdgeIteratorT< typename std::remove_const< C >::type > & | other | ) | const |
Equality operator.
VertexDescriptor Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::source | ( | ) | const |
The index of the source vertex of the current edge.
VertexDescriptor Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::target | ( | ) | const |
The index of the target vertex of the current edge.
WeightType & Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::weight | ( | ) | const |
Access the edge weight.