29 #ifndef DOXYGEN_SHOULD_SKIP_THIS 52 std::numeric_limits< NodeId >::max()),
88 const ArcAddition& change)
const {
94 const ArcDeletion& change)
const {
100 const ArcReversal& change)
const {
106 const GraphChange& change)
const {
107 switch (change.type()) {
119 "edge modifications are not " 120 "supported by StructuralConstraintTabuList");
154 switch (change.type()) {
169 "edge modifications are not supported by digraph constraint");
175 const GraphChange&)
const {
180 # define GUM_CONSTRAINT_CLASS_NAME StructuralConstraintTabuList 182 # undef GUM_CONSTRAINT_CLASS_NAME
void setTabuListSize(Size new_size)
sets the size of the tabu list
bool checkModificationAlone(const GraphChange &change) const
checks whether the constraints enable to perform a graph change
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
NodeId _TabuList__offset
the index of the oldest element
void setGraphAlone(const DiGraph &graph)
sets a new graph from which we will perform checkings
bool checkArcReversalAlone(NodeId x, NodeId y) const
checks whether the constraints enable to reverse arc (x,y)
void modifyGraphAlone(const ArcAddition &change)
notify the constraint of a modification of the graph
bool checkArcDeletionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to remove arc (x,y)
Bijection< GraphChange, NodeId > _TabuList__changes
the tabu list
bool isAlwaysInvalidAlone(const GraphChange &change) const
indicates whether a change will always violate the constraint
std::size_t Size
In aGrUM, hashed values are unsigned long int.
bool checkArcAdditionAlone(NodeId x, NodeId y) const
checks whether the constraints enable to add arc (x,y)
Size NodeId
Type for node ids.
#define GUM_ERROR(type, msg)