dune-istl
2.2.0
|
Iterator over all edges starting from a vertex. 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. | |
typedef const remove_const< C > ::type | ConstContainer |
The constant type of the container type. | |
typedef SelectType< isMutable &&C::mutableMatrix, typename Matrix::row_type::Iterator, typename Matrix::row_type::ConstIterator > ::Type | ColIterator |
The column iterator of the matrix we use. | |
typedef SelectType< isMutable &&C::mutableMatrix, typename M::block_type, const typename M::block_type >::Type | Weight |
The matrix block type we use as weights. | |
typedef SelectType< 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 | |
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 remove_const< C >::type > &other) const |
Inequality operator. | |
bool | operator!= (const EdgeIteratorT< const typename remove_const< C >::type > &other) const |
Inequality operator. | |
bool | operator== (const EdgeIteratorT< typename remove_const< C >::type > &other) const |
Equality operator. | |
bool | operator== (const EdgeIteratorT< const typename 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 > |
Iterator over all edges starting from a vertex.
typedef SelectType<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 remove_const<C>::type Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::ConstContainer |
The constant type of the container type.
typedef remove_const<C>::type Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::MutableContainer |
The mutable type of the container type.
typedef SelectType<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 SelectType<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 >::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 remove_const< C >::type > & | other | ) | const |
Inequality operator.
bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator!= | ( | const EdgeIteratorT< const typename 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 remove_const< C >::type > & | other | ) | const |
Equality operator.
bool Dune::Amg::MatrixGraph< M >::EdgeIteratorT< C >::operator== | ( | const EdgeIteratorT< const typename 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.