aGrUM  0.15.1
Graph representation

## Classes

the class to indicate that we wish to add a new arc More...

class  gum::DAGCycleDetector::ArcDel
the class to indicate that we wish to remove an arc More...

class  gum::DAGCycleDetector::ArcReverse
the class to indicate that we wish to reverse an arc More...

class  gum::DAGCycleDetector
A class for detecting directed cycles in DAGs when trying to apply many changes to the graph. More...

class  gum::SimplicialSet
Class enabling fast retrieval of simplicial, quasi and almost simplicial nodes. More...

class  gum::DefaultTriangulation
The default triangulation algorithm used by aGrUM. More...

class  gum::DefaultEliminationSequenceStrategy
An efficient unconstrained elimination sequence algorithm. More...

class  gum::DefaultPartialOrderedEliminationSequenceStrategy
An Elimination sequence algorithm that imposes a given partial ordering on the nodes elimination sequence. More...

class  gum::EliminationSequenceStrategy
The base class for all elimination sequence algorithms used by triangulation algorithms. More...

class  gum::OrderedEliminationSequenceStrategy
An Elimination sequence algorithm that imposes a given complete ordering on the nodes elimination sequence. More...

class  gum::PartialOrderedEliminationSequenceStrategy
Base class for all elimination sequence algorithm that impose a given partial ordering on the nodes elimination sequence, that is, the set of all the nodes is divided into several subsets. More...

class  gum::UnconstrainedEliminationSequenceStrategy
The base class for all elimination sequence algorithms that require only the graph to be triangulated and the nodes' domain sizes to produce the node elimination ordering. More...

class  gum::DefaultJunctionTreeStrategy
An algorithm producing a junction given the elimination tree produced by a triangulation algorithm. More...

class  gum::JunctionTreeStrategy
Base Class for all the algorithms producing a junction given a set of cliques/subcliques resulting from a triangulation. More...

class  gum::OrderedTriangulation
class for graph triangulations for which we enforce a given complete ordering on the nodes eliminations. More...

class  gum::PartialOrderedTriangulation
class for graph triangulations for which we enforce a given partial ordering on the nodes eliminations, that is, the set of all the nodes is divided into several subsets. More...

class  gum::StaticTriangulation
base class for all non-incremental triangulation methods More...

class  gum::Triangulation
Interface for all the triangulation methods. More...

class  gum::UnconstrainedTriangulation
Interface for all triangulation methods without constraints on node elimination orderings. More...

class  gum::CliqueGraph
Basic graph of cliques. More...

class  gum::DAG
Base class for dag. More...

class  gum::DiGraph
Base class for all oriented graphs. More...

class  gum::Edge
The base class for all undirected edges. More...

class  gum::Arc
The base class for all directed edgesThis class is used as a basis for manipulating all directed edges (i.e., edges in which the order of the nodes is meaningful). More...

class  gum::MixedGraph
Base class for mixed graphs. More...

class  gum::ArcGraphPart
Classes for directed edge sets. More...

class  gum::EdgeGraphPart
Classes for undirected edge sets. More...

class  gum::DiGraphListener
Abstract Base class for all diGraph Listener. More...

class  gum::MixedGraphListener
Abstract Base class for all mixed Graph Listener. More...

class  gum::UndiGraphListener
Abstract Base class for all undiGraph Listener. More...

class  gum::NodeGraphPart
Class for node sets in graph. More...

class  gum::UndiGraph
Base class for undirected graphs. More...

## Typedefs

typedef Size gum::NodeId
Type for node ids. More...

typedef Set< NodeIdgum::NodeSet
Some typdefs and define for shortcuts ... More...

typedef Set< Edgegum::EdgeSet
Some typdefs and define for shortcuts ... More...

typedef Set< Arcgum::ArcSet
Some typdefs and define for shortcuts ... More...

typedef ArcSet::const_iterator gum::ArcSetIterator
Some typdefs and define for shortcuts ... More...

typedef EdgeSet::const_iterator gum::EdgeSetIterator
Some typdefs and define for shortcuts ... More...

typedef NodeSet::const_iterator gum::NodeSetIterator
Some typdefs and define for shortcuts ... More...

template<class VAL >
using gum::NodeProperty = HashTable< NodeId, VAL >
Property on graph elements. More...

template<class VAL >
using gum::EdgeProperty = HashTable< Edge, VAL >
Property on graph elements. More...

template<class VAL >
using gum::ArcProperty = HashTable< Arc, VAL >
Property on graph elements. More...

### Example: Search of a directed path in a DiGraph

g from n1 to n2
// mark[node] contains 0 if not visited
// mark[node]=predecessor if visited
gum::NodeProperty<gum::NodeId> mark=g.nodesProperty((gum::NodeId) 0 );
gum::NodeId current;
mark[n1]=n1;
nodeFIFO.pushBack( n1 );
while ( ! nodeFIFO.empty() ) {
current=nodeFIFO.front();nodeFIFO.popFront();
const gum::NodeSet& set=;
for ( const auto new_one : g.children( current )) {
if ( mark[new_one]!=0 ) continue; // if this node is already marked,
continue
mark[new_one]=current;
if ( new_one==n2 ) break; // if we reach n2, stop.
nodeFIFO.pushBack( new_one );
}
}
if ( mark[n2] ==0 ) GUM_ERROR( gum::NotFound,"no path found" );

## ◆ ArcProperty

template<class VAL >
 using gum::ArcProperty = typedef HashTable< Arc, VAL >

Property on graph elements.

Definition at line 393 of file graphElements.h.

## ◆ ArcSet

 typedef Set< Arc > gum::ArcSet

Some typdefs and define for shortcuts ...

Definition at line 377 of file graphElements.h.

## ◆ ArcSetIterator

Some typdefs and define for shortcuts ...

Definition at line 379 of file graphElements.h.

## ◆ EdgeProperty

template<class VAL >
 using gum::EdgeProperty = typedef HashTable< Edge, VAL >

Property on graph elements.

Definition at line 391 of file graphElements.h.

## ◆ EdgeSet

 typedef Set< Edge > gum::EdgeSet

Some typdefs and define for shortcuts ...

Definition at line 376 of file graphElements.h.

## ◆ EdgeSetIterator

Some typdefs and define for shortcuts ...

Definition at line 380 of file graphElements.h.

## ◆ NodeId

 typedef Size gum::NodeId

Type for node ids.

Definition at line 98 of file graphElements.h.

## ◆ NodeProperty

template<class VAL >
 using gum::NodeProperty = typedef HashTable< NodeId, VAL >

Property on graph elements.

Definition at line 389 of file graphElements.h.

## ◆ NodeSet

 typedef Set< NodeId > gum::NodeSet

Some typdefs and define for shortcuts ...

Definition at line 375 of file graphElements.h.

## ◆ NodeSetIterator

Some typdefs and define for shortcuts ...

Definition at line 381 of file graphElements.h.