26 #ifndef DOXYGEN_SHOULD_SKIP_THIS 59 const ArcAddition& change)
const {
65 const ArcDeletion& change)
const {
71 const ArcReversal& change)
const {
77 const GraphChange& change)
const {
78 switch (change.type()) {
90 "edge modifications are not " 91 "supported by StructuralConstraintMandatoryArcs");
97 const ArcAddition& change) {}
101 const ArcDeletion& change) {}
105 const ArcReversal& change) {}
109 const GraphChange& change) {}
113 const GraphChange& change)
const {
114 switch (change.type()) {
125 "edge modifications are not supported " 126 "by StructuralConstraintMandatoryArcs");
151 # define GUM_CONSTRAINT_CLASS_NAME StructuralConstraintMandatoryArcs 153 # 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.
gum is the global namespace for all aGrUM entities
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