48#ifdef GUM_CONSTRAINT_CLASS_NAME
51INLINE
void GUM_CONSTRAINT_CLASS_NAME::setGraph(
const UndiGraph& graph) {
52 constraints::setGraph(graph);
57INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkEdgeAddition(NodeId x, NodeId y)
const {
58 return constraints::checkEdgeAddition(x, y) && checkEdgeAdditionAlone(x, y);
62INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkEdgeDeletion(NodeId x, NodeId y)
const {
63 return constraints::checkEdgeDeletion(x, y) && checkEdgeDeletionAlone(x, y);
67INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const EdgeAddition& change) {
68 constraints::modifyGraph(change);
69 modifyGraphAlone(change);
73INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const EdgeDeletion& change) {
74 constraints::modifyGraph(change);
75 modifyGraphAlone(change);
79INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const GraphChange& change) {
80 constraints::modifyGraph(change);
81 modifyGraphAlone(change);
85INLINE
bool GUM_CONSTRAINT_CLASS_NAME::isAlwaysInvalid(
const GraphChange&)
const {
86 return constraints::isAlwaysInvalid(change) || isAlwaysInvalidAlone(change);
90INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkModification(
const EdgeAddition& change)
const {
91 return checkEdgeAddition(change.node1(), change.node2());
95INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkModification(
const EdgeDeletion& change)
const {
96 return checkEdgeDeletion(change.node1(), change.node2());
100INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkModification(
const GraphChange& change)
const {
101 switch (change.type()) {
102 case GraphChangeType::EDGE_ADDITION :
return checkEdgeAddition(change.node1(), change.node2());
104 case GraphChangeType::EDGE_DELETION :
return checkEdgeDeletion(change.node1(), change.node2());
Exception : operation not allowed.
#define GUM_ERROR(type, msg)