29 #ifdef GUM_CONSTRAINT_CLASS_NAME 32 INLINE
void GUM_CONSTRAINT_CLASS_NAME::setGraph(
const DiGraph& graph) {
33 constraints::setGraph(graph);
38 INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkArcAddition(
NodeId x,
NodeId y)
const {
39 return constraints::checkArcAddition(x, y) && checkArcAdditionAlone(x, y);
43 INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkArcDeletion(
NodeId x,
NodeId y)
const {
44 return constraints::checkArcDeletion(x, y) && checkArcDeletionAlone(x, y);
48 INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkArcReversal(
NodeId x,
NodeId y)
const {
49 return constraints::checkArcReversal(x, y) && checkArcReversalAlone(x, y);
53 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const ArcAddition& change) {
54 constraints::modifyGraph(change);
55 modifyGraphAlone(change);
59 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const ArcDeletion& change) {
60 constraints::modifyGraph(change);
61 modifyGraphAlone(change);
65 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const ArcReversal& change) {
66 constraints::modifyGraph(change);
67 modifyGraphAlone(change);
71 INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const GraphChange& change) {
72 constraints::modifyGraph(change);
73 modifyGraphAlone(change);
78 GUM_CONSTRAINT_CLASS_NAME::isAlwaysInvalid(
const GraphChange& change)
const {
79 return constraints::isAlwaysInvalid(change) || isAlwaysInvalidAlone(change);
84 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const ArcAddition& change)
const {
85 return checkArcAddition(change.node1(), change.node2());
90 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const ArcDeletion& change)
const {
91 return checkArcDeletion(change.node1(), change.node2());
96 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const ArcReversal& change)
const {
97 return checkArcReversal(change.node1(), change.node2());
102 GUM_CONSTRAINT_CLASS_NAME::checkModification(
const GraphChange& change)
const {
103 switch (change.type()) {
105 return checkArcAddition(change.node1(), change.node2());
108 return checkArcDeletion(change.node1(), change.node2());
111 return checkArcReversal(change.node1(), change.node2());
115 "edge modifications are not supported by the constraint");
Size NodeId
Type for node ids.
#define GUM_ERROR(type, msg)