dune-istl
2.5.1
|
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. More... | |
typedef const std::remove_const< C >::type | ConstContainer |
The constant type of the container type. More... | |
typedef std::conditional< isMutable &&C::mutableMatrix, typename Matrix::row_type::Iterator, typename Matrix::row_type::ConstIterator >::type | ColIterator |
The column iterator of the matrix we use. More... | |
typedef std::conditional< isMutable &&C::mutableMatrix, typename M::block_type, const typename M::block_type >::type | Weight |
The matrix block type we use as weights. More... | |
typedef std::conditional< std::is_same< C, typename std::remove_const< C >::type >::value &&C::mutableMatrix, typename M::block_type, const typename M::block_type >::type | WeightType |
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. More... | |
EdgeIteratorT< C > & | operator++ () |
preincrement operator. More... | |
bool | operator!= (const EdgeIteratorT< typename std::remove_const< C >::type > &other) const |
Inequality operator. More... | |
bool | operator!= (const EdgeIteratorT< const typename std::remove_const< C >::type > &other) const |
Inequality operator. More... | |
bool | operator== (const EdgeIteratorT< typename std::remove_const< C >::type > &other) const |
Equality operator. More... | |
bool | operator== (const EdgeIteratorT< const typename std::remove_const< C >::type > &other) const |
Equality operator. More... | |
VertexDescriptor | target () const |
The index of the target vertex of the current edge. More... | |
VertexDescriptor | source () const |
The index of the source vertex of the current edge. More... | |
const EdgeDescriptor & | operator* () const |
Get the edge descriptor. More... | |
const EdgeDescriptor * | operator-> () const |
Get the edge descriptor. More... | |
Iterator over all edges starting from a vertex.
typedef std::conditional<isMutable && C::mutableMatrix,typename Matrix::row_type::Iterator, typename Matrix::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,typename M::block_type, const typename M::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, typename std::remove_const<C>::type>::value && C::mutableMatrix, typename M::block_type, const typename M::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< typename std::remove_const< C >::type > & | other | ) | const |
Inequality operator.
bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator!= | ( | const EdgeIteratorT< const 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< typename std::remove_const< C >::type > & | other | ) | const |
Equality operator.
bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator== | ( | const EdgeIteratorT< const 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.