16 #ifndef polybori_groebner_PolyEntryReference_h_
17 #define polybori_groebner_PolyEntryReference_h_
43 vPairCalculated(entry.vPairCalculated), minimal(entry.minimal),
44 m_entry(entry), m_parent(parent) { }
47 bool operator==(
const self& rhs)
const {
return m_entry == rhs; }
52 return m_entry.markVariablePairsCalculated(); }
55 return m_entry.propagatableBy(other);
67 m_parent.update(lm, m_entry);
72 const value_type&
get()
const {
return const_cast<const value_type&
>(m_entry); }
75 operator const value_type&()
const {
return get(); }
79 vector_type& m_parent;
bool propagatableBy(const PolyEntry &other) const
Definition: PolyEntryReference.h:54
bool operator==(const self &rhs) const
Equality check.
Definition: PolyEntryReference.h:47
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
PolyEntryReference(value_type &entry, vector_type &parent)
Construct from plain non-constant reference.
Definition: PolyEntryReference.h:42
bool & minimal
Definition: PolyEntryReference.h:59
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
This class defines PolyEntry.
Definition: PolyEntry.h:32
self & operator=(const Type &rhs)
Assignment also triggers changes in the parent.
Definition: PolyEntryReference.h:64
This class defines PolyEntryIndices.
Definition: PolyEntryIndices.h:33
PolyEntry value_type
Definition: PolyEntryReference.h:39
PolyEntryIndices vector_type
Definition: PolyEntryReference.h:38
std::set< idx_type > & vPairCalculated
Definition: PolyEntryReference.h:58
This class is just a wrapper for using variables from cudd's decicion diagram.
Definition: BooleMonomial.h:50
This class defines PolyEntryReference.
Definition: PolyEntryReference.h:34
void markVariablePairsCalculated()
Definition: PolyEntryReference.h:51