Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM > Class Template Reference
[Parallel Algebraic Multigrid]

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

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

List of all members.

Classes

class  EdgeIteratorT
class  VertexIteratorT

Public Types

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

Public Member Functions

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

Detailed Description

template<class G, class VP, class EP, class VM = IdentityMap, class EM = IdentityMap>
class Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >

Attaches properties to the edges and vertices of a graph.


Member Typedef Documentation

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
typedef EdgeIteratorT<const PropertiesGraph<Graph, VertexProperties, EdgeProperties,VM,EM> > Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::ConstEdgeIterator

The type of the constant edge iterator.

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
typedef VertexIteratorT<const PropertiesGraph<Graph, VertexProperties, EdgeProperties,VM,EM> > Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::ConstVertexIterator

The type of the constant Vertex iterator.

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

The edge descritor.

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
typedef EdgeIteratorT<PropertiesGraph<Graph, VertexProperties, EdgeProperties,VM,EM> > Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::EdgeIterator

The type of the mutable edge iterator.

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
typedef EM Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::EdgeMap

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

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

The following condition has to be met: Let e1 and e2 be two edge descriptors, e1 < e2, and map be the index map. Then map[v1]<map[v2] has to hold.

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
typedef EP Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::EdgeProperties

The type of the properties of the edges;.

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
typedef G Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::Graph

The graph we attach properties to.

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

The vertex descriptor.

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
typedef VertexIteratorT<PropertiesGraph<Graph, VertexProperties, EdgeProperties,VM,EM> > Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::VertexIterator

The type of the mutable Vertex iterator.

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
typedef VM Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::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 EP , class VM = IdentityMap, class EM = IdentityMap>
typedef VP Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::VertexProperties

The type of the properties of the vertices.


Constructor & Destructor Documentation

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::PropertiesGraph ( Graph graph,
const VertexMap vmap = VertexMap(),
const EdgeMap emap = EdgeMap() 
)

Constructor.

Parameters:
graph The graph we attach properties to.
vmap The map of the vertices onto indices.
emap The map of the edges onto indices.

Member Function Documentation

template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
ConstVertexIterator Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::begin (  )  const

Get an iterator over the vertices.

Returns:
A vertex Iterator positioned at the first vertex.
template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
VertexIterator Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::begin (  ) 

Get an iterator over the vertices.

Returns:
A vertex Iterator positioned at the first vertex.
template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
ConstEdgeIterator Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::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 EP , class VM = IdentityMap, class EM = IdentityMap>
EdgeIterator Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::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 EP , class VM = IdentityMap, class EM = IdentityMap>
ConstVertexIterator Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::end (  )  const

Get an iterator over the vertices.

Returns:
A vertex Iterator positioned behind the last vertex.
template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
VertexIterator Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::end (  ) 

Get an iterator over the vertices.

Returns:
A vertex Iterator positioned behind the last vertex.
template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
ConstEdgeIterator Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::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 EP , class VM = IdentityMap, class EM = IdentityMap>
EdgeIterator Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::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 EP , class VM = IdentityMap, class EM = IdentityMap>
const EdgeProperties& Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::getEdgeProperties ( const VertexDescriptor source,
const VertexDescriptor target 
) const

Get the properties associated with a edge.

Parameters:
source The descriptor identifying the source vertex of the edge.
target The descriptor identifying the target vertex of the edge.
Returns:
The properties of the edge.
template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
EdgeProperties& Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::getEdgeProperties ( const VertexDescriptor source,
const VertexDescriptor target 
)

Get the properties associated with a edge.

Parameters:
source The descriptor identifying the source vertex of the edge.
target The descriptor identifying the target vertex of the edge.
Returns:
The properties of the edge.
template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
const EdgeProperties& Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::getEdgeProperties ( const EdgeDescriptor edge  )  const

Get the properties associated with a edge.

Parameters:
edge The descriptor identifying the edge.
Returns:
The properties of the edge.
template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
EdgeProperties& Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::getEdgeProperties ( const EdgeDescriptor edge  ) 

Get the properties associated with a edge.

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

Get the properties associated with a vertex.

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

Get the properties associated with a vertex.

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

Get the graph the properties are attached to.

Returns:
The underlying graph.
template<class G , class VP , class EP , class VM = IdentityMap, class EM = IdentityMap>
VertexDescriptor Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::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 EP , class VM = IdentityMap, class EM = IdentityMap>
std::size_t Dune::Amg::PropertiesGraph< G, VP, EP, VM, EM >::noEdges (  )  const

Get the number of edges in the graph.

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

Get the number of vertices in the graph.


The documentation for this class was generated from the following file:
Generated on Sat Apr 24 11:13:51 2010 for dune-istl by  doxygen 1.6.3