27 #ifdef GUM_CONSTRAINT_CLASS_NAME 30 INLINE
void GUM_CONSTRAINT_CLASS_NAME::setGraph(
const UndiGraph& graph) {
31 constraints::setGraph(graph);
36 INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkEdgeAddition(
NodeId x,
38 return constraints::checkEdgeAddition(x, y) && checkEdgeAdditionAlone(x, y);
42 INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkEdgeDeletion(
NodeId x,
44 return constraints::checkEdgeDeletion(x, y) && checkEdgeDeletionAlone(x, y);
48 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const EdgeAddition& change) {
49 constraints::modifyGraph(change);
50 modifyGraphAlone(change);
54 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const EdgeDeletion& change) {
55 constraints::modifyGraph(change);
56 modifyGraphAlone(change);
60 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const GraphChange& change) {
61 constraints::modifyGraph(change);
62 modifyGraphAlone(change);
66 INLINE
bool GUM_CONSTRAINT_CLASS_NAME::isAlwaysInvalid(
const GraphChange&)
const {
67 return constraints::isAlwaysInvalid(change) || isAlwaysInvalidAlone(change);
72 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const EdgeAddition& change)
const {
73 return checkEdgeAddition(change.node1(), change.node2());
78 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const EdgeDeletion& change)
const {
79 return checkEdgeDeletion(change.node1(), change.node2());
84 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const GraphChange& change)
const {
85 switch (change.type()) {
87 return checkEdgeAddition(change.node1(), change.node2());
90 return checkEdgeDeletion(change.node1(), change.node2());
94 "arc modifications are not supported by the constraint");
Size NodeId
Type for node ids.
#define GUM_ERROR(type, msg)