29 #ifndef DOXYGEN_SHOULD_SKIP_THIS 62 const ArcAddition& change)
const {
68 const ArcDeletion& change)
const {
74 const ArcReversal& change)
const {
80 const GraphChange& change)
const {
81 switch (change.type()) {
93 "edge modifications are not " 94 "supported by StructuralConstraintMandatoryArcs");
100 const ArcAddition& change) {}
104 const ArcDeletion& change) {}
108 const ArcReversal& change) {}
112 const GraphChange& change) {}
116 const GraphChange& change)
const {
117 switch (change.type()) {
128 "edge modifications are not supported " 129 "by StructuralConstraintMandatoryArcs");
154 # define GUM_CONSTRAINT_CLASS_NAME StructuralConstraintMandatoryArcs 156 # undef GUM_CONSTRAINT_CLASS_NAME bool checkArcReversalAlone(NodeId x, NodeId y) const
checks whether the constraints enable to reverse arc (x,y)
const ArcSet & arcs() const
returns the set of mandatory arcs
ArcSet _MandatoryArcs__mandatory_arcs
the MandatoryArcs on which we perform checks
bool isAlwaysInvalidAlone(const GraphChange &change) const
indicates whether a change will always violate the constraint
void setArcs(const ArcSet &set)
assign a set of forbidden arcs
void addArc(const Arc &arc)
assign a new forbidden arc
Set< Arc > ArcSet
Some typdefs and define for shortcuts ...
void erase(const Key &k)
Erases an element from the set.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
bool checkArcDeletionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to remove arc (x,y)
bool exists(const Key &k) const
Indicates whether a given elements belong to the set.
void modifyGraphAlone(const ArcAddition &change)
notify the constraint of a modification of the graph
void eraseArc(const Arc &arc)
remove a forbidden arc
void setGraphAlone(const DiGraph &graph)
sets a new graph from which we will perform checkings
bool checkArcAdditionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to add arc (x,y)
Size NodeId
Type for node ids.
void insert(const Key &k)
Inserts a new element into the set.
#define GUM_ERROR(type, msg)
bool checkModificationAlone(const GraphChange &change) const
checks whether the constraints enable to perform a graph change