27 #ifdef GUM_CONSTRAINT_CLASS_NAME 30 INLINE
void GUM_CONSTRAINT_CLASS_NAME::setGraph(
const DiGraph& graph) {
31 constraints::setGraph(graph);
36 INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkArcAddition(
NodeId x,
NodeId y)
const {
37 return constraints::checkArcAddition(x, y) && checkArcAdditionAlone(x, y);
41 INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkArcDeletion(
NodeId x,
NodeId y)
const {
42 return constraints::checkArcDeletion(x, y) && checkArcDeletionAlone(x, y);
46 INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkArcReversal(
NodeId x,
NodeId y)
const {
47 return constraints::checkArcReversal(x, y) && checkArcReversalAlone(x, y);
51 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const ArcAddition& change) {
52 constraints::modifyGraph(change);
53 modifyGraphAlone(change);
57 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const ArcDeletion& change) {
58 constraints::modifyGraph(change);
59 modifyGraphAlone(change);
63 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const ArcReversal& change) {
64 constraints::modifyGraph(change);
65 modifyGraphAlone(change);
69 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const GraphChange& change) {
70 constraints::modifyGraph(change);
71 modifyGraphAlone(change);
76 GUM_CONSTRAINT_CLASS_NAME::isAlwaysInvalid(
const GraphChange& change)
const {
77 return constraints::isAlwaysInvalid(change) || isAlwaysInvalidAlone(change);
82 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const ArcAddition& change)
const {
83 return checkArcAddition(change.node1(), change.node2());
88 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const ArcDeletion& change)
const {
89 return checkArcDeletion(change.node1(), change.node2());
94 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const ArcReversal& change)
const {
95 return checkArcReversal(change.node1(), change.node2());
100 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const GraphChange& change)
const {
101 switch (change.type()) {
103 return checkArcAddition(change.node1(), change.node2());
106 return checkArcDeletion(change.node1(), change.node2());
109 return checkArcReversal(change.node1(), change.node2());
113 "edge modifications are not supported by the constraint");
Size NodeId
Type for node ids.
#define GUM_ERROR(type, msg)