concepts::Graph< F > Class Template Reference

Template class to define a graph. More...

#include <graph.hh>

Public Member Functions

virtual void addEdge (const F Value1, const F Value2)
 Add edge into graph. More...
 
virtual void addVertex (const F Value, const int Weight=1)
 Add vertex into graph. More...
 
virtual void addWeightedEdge (const F Value1, const F Value2, const int Weight)
 Add edge into graph (with weight modification) More...
 
void EmptyGraph ()
 
virtual void GetCompressedFormat (Sequence< int > &Cumuled, Sequence< int > &CNeighbours, Sequence< int > &Weights) const
 
virtual Sequence< F > getCompressedNeighbours () const
 
virtual Sequence< F > GetSubdomain (const int Part) const
 
virtual Sequence< bool > GetSubdomainBool (const int Part) const
 
 Graph ()
 
virtual std::ostream & info (std::ostream &os) const
 
virtual void SetSubdomains (const int NbParts=2)
 
virtual void SetSubdomains (const Sequence< int > &Subdomains)
 
 ~Graph ()
 

Protected Attributes

Sequence< GraphVertex< F > > Vertexes_
 

Detailed Description

template<class F>
class concepts::Graph< F >

Template class to define a graph.

Definition at line 79 of file graph.hh.

Constructor & Destructor Documentation

◆ Graph()

template<class F >
concepts::Graph< F >::Graph ( )
inline

Definition at line 82 of file graph.hh.

◆ ~Graph()

template<class F >
concepts::Graph< F >::~Graph ( )
inline

Definition at line 83 of file graph.hh.

Member Function Documentation

◆ addEdge()

template<class F >
void concepts::Graph< F >::addEdge ( const F  Value1,
const F  Value2 
)
virtual

Add edge into graph.

We store the information e = (v1,v2) saying that both v1 and v2 are neighbours

Parameters
Value1first vertex corresponding to the edge
Value2second vertex corresponding to the edge

Definition at line 225 of file graph.hh.

◆ addVertex()

template<class F >
void concepts::Graph< F >::addVertex ( const F  Value,
const int  Weight = 1 
)
virtual

Add vertex into graph.

Parameters
Valuevertex to add inside the graph

Definition at line 204 of file graph.hh.

◆ addWeightedEdge()

template<class F >
void concepts::Graph< F >::addWeightedEdge ( const F  Value1,
const F  Value2,
const int  Weight 
)
virtual

Add edge into graph (with weight modification)

We store the information e = (v1,v2) saying that both v1 and v2 are neighbours

Parameters
Value1first vertex corresponding to the edge
Value2second vertex corresponding to the edge
Weightincrease value weight

Definition at line 255 of file graph.hh.

◆ EmptyGraph()

template<class F >
void concepts::Graph< F >::EmptyGraph ( )
inline

Definition at line 95 of file graph.hh.

◆ GetCompressedFormat()

template<class F >
void concepts::Graph< F >::GetCompressedFormat ( Sequence< int > &  Cumuled,
Sequence< int > &  CNeighbours,
Sequence< int > &  Weights 
) const
virtual

Definition at line 291 of file graph.hh.

◆ getCompressedNeighbours()

template<class F >
Sequence< F > concepts::Graph< F >::getCompressedNeighbours
virtual

Definition at line 278 of file graph.hh.

◆ GetSubdomain()

template<class F >
Sequence< F > concepts::Graph< F >::GetSubdomain ( const int  Part) const
virtual

Definition at line 479 of file graph.hh.

◆ GetSubdomainBool()

template<class F >
Sequence< bool > concepts::Graph< F >::GetSubdomainBool ( const int  Part) const
virtual

Definition at line 496 of file graph.hh.

◆ info()

template<class F >
std::ostream & concepts::Graph< F >::info ( std::ostream &  os) const
virtual

Definition at line 104 of file graph.hh.

◆ SetSubdomains() [1/2]

template<class F >
void concepts::Graph< F >::SetSubdomains ( const int  NbParts = 2)
virtual

Definition at line 445 of file graph.hh.

◆ SetSubdomains() [2/2]

template<class F >
void concepts::Graph< F >::SetSubdomains ( const Sequence< int > &  Subdomains)
virtual

Definition at line 430 of file graph.hh.

Member Data Documentation

◆ Vertexes_

template<class F >
Sequence<GraphVertex<F> > concepts::Graph< F >::Vertexes_
protected

Definition at line 100 of file graph.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich