69 "Add a directed cycle in a PDAG : between " << head <<
" and " << tail)
73 "Add a partial directed cycle in a PDAG : between " << head <<
" and " << tail)
87 "Add a partial directed cycle in a PDAG : between " << head <<
" and " << tail)
Base classes for partially directed acyclic graphs.
bool hasDirectedPath(NodeId from, NodeId to)
checks whether there exists a directed path from from to to
virtual void addArc(const NodeId tail, const NodeId head)
insert a new arc into the directed graph
virtual void addEdge(NodeId n1, NodeId n2)
insert a new edge into the EdgeGraphPart
Exception : existence of a directed cycle in a graph.
MixedGraph & operator=(const MixedGraph &g)
copy operator
void addEdge(NodeId first, NodeId second) final
insert a new edge into the partially directed graph
void addArc(NodeId tail, NodeId head) final
insert a new arc into the directed graph
PDAG & operator=(const PDAG &g)
copy operator
PDAG(Size nodes_size=HashTableConst::default_size, bool nodes_resize_policy=true, Size arcs_size=HashTableConst::default_size, bool arcs_resize_policy=true, Size edges_size=HashTableConst::default_size, bool edges_resize_policy=true)
default constructor
bool hasMixedReallyOrientedPath(NodeId n1, NodeId n2) const
returns true if a mixed edge/directed arc path from node1 to node2 in the arc/edge set exists with at...
#define GUM_ERROR(type, msg)
Size NodeId
Type for node ids.
gum is the global namespace for all aGrUM entities