48#ifdef GUM_CONSTRAINT_CLASS_NAME
51INLINE
void GUM_CONSTRAINT_CLASS_NAME::setGraph(
const DiGraph& graph) {
52 constraints::setGraph(graph);
57INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkArcAddition(NodeId x, NodeId y)
const {
58 return constraints::checkArcAddition(x, y) && checkArcAdditionAlone(x, y);
62INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkArcDeletion(NodeId x, NodeId y)
const {
63 return constraints::checkArcDeletion(x, y) && checkArcDeletionAlone(x, y);
67INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkArcReversal(NodeId x, NodeId y)
const {
68 return constraints::checkArcReversal(x, y) && checkArcReversalAlone(x, y);
72INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const ArcAddition& change) {
73 constraints::modifyGraph(change);
74 modifyGraphAlone(change);
78INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const ArcDeletion& change) {
79 constraints::modifyGraph(change);
80 modifyGraphAlone(change);
84INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const ArcReversal& change) {
85 constraints::modifyGraph(change);
86 modifyGraphAlone(change);
90INLINE
void GUM_CONSTRAINT_CLASS_NAME::modifyGraph(
const GraphChange& change) {
91 constraints::modifyGraph(change);
92 modifyGraphAlone(change);
96INLINE
bool GUM_CONSTRAINT_CLASS_NAME::isAlwaysInvalid(
const GraphChange& change)
const {
97 return constraints::isAlwaysInvalid(change) || isAlwaysInvalidAlone(change);
101INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkModification(
const ArcAddition& change)
const {
102 return checkArcAddition(change.node1(), change.node2());
106INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkModification(
const ArcDeletion& change)
const {
107 return checkArcDeletion(change.node1(), change.node2());
111INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkModification(
const ArcReversal& change)
const {
112 return checkArcReversal(change.node1(), change.node2());
116INLINE
bool GUM_CONSTRAINT_CLASS_NAME::checkModification(
const GraphChange& change)
const {
117 switch (change.type()) {
118 case GraphChangeType::ARC_ADDITION :
return checkArcAddition(change.node1(), change.node2());
120 case GraphChangeType::ARC_DELETION :
return checkArcDeletion(change.node1(), change.node2());
122 case GraphChangeType::ARC_REVERSAL :
return checkArcReversal(change.node1(), change.node2());
Exception : operation not allowed.
#define GUM_ERROR(type, msg)