dune-istl  2.3.0
Classes | Public Types | Public Member Functions | List of all members
Dune::Amg::VertexPropertiesGraph< G, VP, VM > Class Template Reference

Attaches properties to the vertices of a graph. More...

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

Classes

class  VertexIteratorT
 

Public Types

typedef G Graph
 The graph we attach properties to. More...
 
typedef Graph::VertexDescriptor VertexDescriptor
 The vertex descriptor. More...
 
typedef Graph::EdgeDescriptor EdgeDescriptor
 The edge descritor. More...
 
typedef VP VertexProperties
 The type of the properties of the vertices. More...
 
typedef VM VertexMap
 The type of the map for converting the VertexDescriptor to std::size_t. More...
 
typedef Graph::EdgeIterator EdgeIterator
 The type of the mutable edge iterator. More...
 
typedef Graph::ConstEdgeIterator ConstEdgeIterator
 The type of the constant edge iterator. More...
 
typedef VertexIteratorT
< VertexPropertiesGraph< Graph,
VertexProperties, VM > > 
VertexIterator
 The type of the mutable Vertex iterator. More...
 
typedef VertexIteratorT< const
VertexPropertiesGraph< Graph,
VertexProperties, VM > > 
ConstVertexIterator
 The type of the constant Vertex iterator. More...
 

Public Member Functions

EdgeIterator beginEdges (const VertexDescriptor &source)
 Get the mutable edge iterator over edges starting at a vertex. More...
 
EdgeIterator endEdges (const VertexDescriptor &source)
 Get the mutable edge iterator over edges starting at a vertex. More...
 
ConstEdgeIterator beginEdges (const VertexDescriptor &source) const
 Get the mutable edge iterator over edges starting at a vertex. More...
 
ConstEdgeIterator endEdges (const VertexDescriptor &source) const
 Get the mutable edge iterator over edges starting at a vertex. More...
 
VertexIterator begin ()
 Get an iterator over the vertices. More...
 
VertexIterator end ()
 Get an iterator over the vertices. More...
 
ConstVertexIterator begin () const
 Get an iterator over the vertices. More...
 
ConstVertexIterator end () const
 Get an iterator over the vertices. More...
 
VertexPropertiesgetVertexProperties (const VertexDescriptor &vertex)
 Get the properties associated with a vertex. More...
 
const VertexPropertiesgetVertexProperties (const VertexDescriptor &vertex) const
 Get the properties associated with a vertex. More...
 
const Graphgraph () const
 Get the graph the properties are attached to. More...
 
std::size_t noVertices () const
 Get the number of vertices in the graph. More...
 
std::size_t noEdges () const
 Get the number of edges in the graph. More...
 
VertexDescriptor maxVertex () const
 Get the maximal vertex descriptor. More...
 
 VertexPropertiesGraph (Graph &graph, const VertexMap vmap=VertexMap())
 Constructor. More...
 

Detailed Description

template<class G, class VP, class VM = IdentityMap>
class Dune::Amg::VertexPropertiesGraph< G, VP, VM >

Attaches properties to the vertices of a graph.

Member Typedef Documentation

template<class G , class VP , class VM = IdentityMap>
typedef Graph::ConstEdgeIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::ConstEdgeIterator

The type of the constant edge iterator.

template<class G , class VP , class VM = IdentityMap>
typedef VertexIteratorT<const VertexPropertiesGraph<Graph, VertexProperties,VM> > Dune::Amg::VertexPropertiesGraph< G, VP, VM >::ConstVertexIterator

The type of the constant Vertex iterator.

template<class G , class VP , class VM = IdentityMap>
typedef Graph::EdgeDescriptor Dune::Amg::VertexPropertiesGraph< G, VP, VM >::EdgeDescriptor

The edge descritor.

template<class G , class VP , class VM = IdentityMap>
typedef Graph::EdgeIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::EdgeIterator

The type of the mutable edge iterator.

template<class G , class VP , class VM = IdentityMap>
typedef G Dune::Amg::VertexPropertiesGraph< G, VP, VM >::Graph

The graph we attach properties to.

template<class G , class VP , class VM = IdentityMap>
typedef Graph::VertexDescriptor Dune::Amg::VertexPropertiesGraph< G, VP, VM >::VertexDescriptor

The vertex descriptor.

template<class G , class VP , class VM = IdentityMap>
typedef VertexIteratorT<VertexPropertiesGraph<Graph, VertexProperties,VM> > Dune::Amg::VertexPropertiesGraph< G, VP, VM >::VertexIterator

The type of the mutable Vertex iterator.

template<class G , class VP , class VM = IdentityMap>
typedef VM Dune::Amg::VertexPropertiesGraph< G, VP, VM >::VertexMap

The type of the map for converting the VertexDescriptor to std::size_t.

Has to provide the following method: std::size_t operator[](const VertexDescriptor& vertex)

The following condition has to be met: Let v1 and v2 be two vertex descriptors with v1 < v2 and map be the index map. Then map[v1]<map[v2] has to hold.

template<class G , class VP , class VM = IdentityMap>
typedef VP Dune::Amg::VertexPropertiesGraph< G, VP, VM >::VertexProperties

The type of the properties of the vertices.

Constructor & Destructor Documentation

template<class G , class VP , class VM = IdentityMap>
Dune::Amg::VertexPropertiesGraph< G, VP, VM >::VertexPropertiesGraph ( Graph graph,
const VertexMap  vmap = VertexMap() 
)

Constructor.

Parameters
graphThe graph we attach properties to.
vmapThe vertex map.

Member Function Documentation

template<class G , class VP , class VM = IdentityMap>
VertexIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::begin ( )

Get an iterator over the vertices.

Returns
A vertex Iterator positioned at the first vertex.
template<class G , class VP , class VM = IdentityMap>
ConstVertexIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::begin ( ) const

Get an iterator over the vertices.

Returns
A vertex Iterator positioned at the first vertex.
template<class G , class VP , class VM = IdentityMap>
EdgeIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::beginEdges ( const VertexDescriptor source)

Get the mutable edge iterator over edges starting at a vertex.

Returns
An edge iterator over edges starting at a vertex positioned at the first edge.
template<class G , class VP , class VM = IdentityMap>
ConstEdgeIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::beginEdges ( const VertexDescriptor source) const

Get the mutable edge iterator over edges starting at a vertex.

Returns
An edge iterator over edges starting at a vertex positioned at the first edge.
template<class G , class VP , class VM = IdentityMap>
VertexIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::end ( )

Get an iterator over the vertices.

Returns
A vertex Iterator positioned behind the last vertex.
template<class G , class VP , class VM = IdentityMap>
ConstVertexIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::end ( ) const

Get an iterator over the vertices.

Returns
A vertex Iterator positioned behind the last vertex.
template<class G , class VP , class VM = IdentityMap>
EdgeIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::endEdges ( const VertexDescriptor source)

Get the mutable edge iterator over edges starting at a vertex.

Returns
An edge iterator over edges starting at a vertex positioned after the last edge.
template<class G , class VP , class VM = IdentityMap>
ConstEdgeIterator Dune::Amg::VertexPropertiesGraph< G, VP, VM >::endEdges ( const VertexDescriptor source) const

Get the mutable edge iterator over edges starting at a vertex.

Returns
An edge iterator over edges starting at a vertex positioned after the last edge.
template<class G , class VP , class VM = IdentityMap>
VertexProperties& Dune::Amg::VertexPropertiesGraph< G, VP, VM >::getVertexProperties ( const VertexDescriptor vertex)

Get the properties associated with a vertex.

Parameters
vertexThe descriptor identifying the vertex.
Returns
The properties of the vertex.
template<class G , class VP , class VM = IdentityMap>
const VertexProperties& Dune::Amg::VertexPropertiesGraph< G, VP, VM >::getVertexProperties ( const VertexDescriptor vertex) const

Get the properties associated with a vertex.

Parameters
vertexThe descriptor identifying the vertex.
Returns
The properties of the vertex.
template<class G , class VP , class VM = IdentityMap>
const Graph& Dune::Amg::VertexPropertiesGraph< G, VP, VM >::graph ( ) const

Get the graph the properties are attached to.

Returns
The underlying graph.
template<class G , class VP , class VM = IdentityMap>
VertexDescriptor Dune::Amg::VertexPropertiesGraph< G, VP, VM >::maxVertex ( ) const

Get the maximal vertex descriptor.

Returns
The minimum value v such that for all vertices w in the graph w<v holds.
template<class G , class VP , class VM = IdentityMap>
std::size_t Dune::Amg::VertexPropertiesGraph< G, VP, VM >::noEdges ( ) const

Get the number of edges in the graph.

template<class G , class VP , class VM = IdentityMap>
std::size_t Dune::Amg::VertexPropertiesGraph< G, VP, VM >::noVertices ( ) const

Get the number of vertices in the graph.


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