29 #ifndef DOXYGEN_SHOULD_SKIP_THIS 65 const ArcAddition& change)
const {
71 const ArcDeletion& change)
const {
77 const ArcReversal& change)
const {
83 const GraphChange& change)
const {
84 switch (change.type()) {
96 "edge modifications are not " 97 "supported by StructuralConstraintPossibleEdges");
103 const ArcAddition& change) {}
107 const ArcDeletion& change) {}
111 const ArcReversal& change) {}
115 const GraphChange& change) {}
119 const GraphChange& change)
const {
120 switch (change.type()) {
131 "edge modifications are not supported " 132 "by StructuralConstraintPossibleEdges");
157 # define GUM_CONSTRAINT_CLASS_NAME StructuralConstraintPossibleEdges 159 # undef GUM_CONSTRAINT_CLASS_NAME bool checkArcDeletionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to remove arc (x,y)
bool checkArcReversalAlone(NodeId x, NodeId y) const
checks whether the constraints enable to reverse arc (x,y)
void addEdge(const Edge &edge)
assign a new forbidden arc
bool empty() const noexcept
Indicates whether the set is the empty set.
void setEdges(const EdgeSet &set)
assign a set of forbidden arcs
void setGraphAlone(const DiGraph &graph)
sets a new graph from which we will perform checkings
EdgeSet _PossibleEdges__possible_edges
the PossibleEdges on which we perform checks
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.
Set< Edge > EdgeSet
Some typdefs and define for shortcuts ...
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
const EdgeSet & edges() const
returns the set of mandatory arcs
bool checkArcAdditionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to add arc (x,y)
bool checkModificationAlone(const GraphChange &change) const
checks whether the constraints enable to perform a graph change
void eraseEdge(const Edge &edge)
remove a forbidden arc
bool isAlwaysInvalidAlone(const GraphChange &change) const
indicates whether a change will always violate the constraint
Size NodeId
Type for node ids.
void insert(const Key &k)
Inserts a new element into the set.
#define GUM_ERROR(type, msg)