29 #ifndef DOXYGEN_SHOULD_SKIP_THIS 64 const ArcAddition& change)
const {
70 const ArcDeletion& change)
const {
76 const ArcReversal& change)
const {
82 const GraphChange& change)
const {
83 switch (change.type()) {
95 "edge modifications are not " 96 "supported by StructuralConstraintDiGraph");
122 switch (change.type()) {
137 "edge modifications are not supported by digraph constraint");
143 const GraphChange&)
const {
151 for (
NodeId i = 0; i < nb_nodes; ++i) {
157 # define GUM_CONSTRAINT_CLASS_NAME StructuralConstraintDiGraph 159 # undef GUM_CONSTRAINT_CLASS_NAME virtual void addNodeWithId(const NodeId id)
try to insert a node with the given id
virtual void addArc(const NodeId tail, const NodeId head)
insert a new arc into the directed graph
void setGraph(Size nb_nodes)
sets a new empty graph from which we will perform checkings
void modifyGraphAlone(const ArcAddition &change)
notify the constraint of a modification of the graph
virtual void clear()
removes all the nodes and arcs from the graph
virtual void eraseArc(const Arc &arc)
removes an arc from the ArcGraphPart
void setGraphAlone(const DiGraph &graph)
sets a new graph from which we will perform checkings
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
DiGraph _DiGraph__graph
the DiGraph on which we perform checks
bool checkArcReversalAlone(NodeId x, NodeId y) const
checks whether the constraints enable to reverse arc (x,y)
bool checkArcAdditionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to add arc (x,y)
bool existsNode(const NodeId id) const
returns true iff the NodeGraphPart contains the given nodeId
bool isAlwaysInvalidAlone(const GraphChange &change) const
indicates whether a change will always violate the constraint
bool checkArcDeletionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to remove arc (x,y)
std::size_t Size
In aGrUM, hashed values are unsigned long int.
bool checkModificationAlone(const GraphChange &change) const
checks whether the constraints enable to perform a graph change
bool existsArc(const Arc &arc) const
indicates whether a given arc exists
Size NodeId
Type for node ids.
#define GUM_ERROR(type, msg)