16 #ifndef polybori_BooleConstant_h_
17 #define polybori_BooleConstant_h_
74 operator bool()
const {
return m_value; }
77 BooleConstant
operator!()
const {
return !m_value; }
86 const_iterator
orderedEnd()
const {
return this + (m_value? 1: 0); }
92 const_iterator
variableEnd()
const {
return variableBegin(); }
96 bool isOne()
const {
return m_value; }
97 bool isZero()
const {
return !m_value; }
110 return (os << (
int) rhs);
130 #endif // polybori_BooleConstant_h_
#define END_NAMESPACE_PBORI
Finish project's namespace.
Definition: pbori_defs.h:77
BooleConstant()
Default constructor.
Definition: BooleConstant.h:50
#define BEGIN_NAMESPACE_PBORI
Start project's namespace.
Definition: pbori_defs.h:74
BooleConstant operator!() const
Negation operation.
Definition: BooleConstant.h:77
deg_type deg() const
Get constant degree.
Definition: BooleConstant.h:80
int deg_type
Type for polynomial degrees (ranges from -1 to maxint)
Definition: pbori_defs.h:222
BooleConstant(unsigned long value)
Constructor for unsigned long integer values (nontrivial conversion)
Definition: BooleConstant.h:71
BooleConstant operator-(const BooleConstant &lhs, const BooleConstant &rhs)
Definition: BooleConstant.h:119
bool isOne() const
Mimic constant monomial or polynmomial term.
Definition: BooleConstant.h:96
BooleConstant(unsigned short value)
Constructor for unsigned shoer integer values (nontrivial conversion)
Definition: BooleConstant.h:59
BooleConstant(unsigned int value)
Constructor for unsigned integer values (nontrivial conversion)
Definition: BooleConstant.h:65
std::ostream ostream_type
Type for out-stream.
Definition: pbori_defs.h:246
BooleConstant operator+(const BooleConstant &lhs, const BooleConstant &rhs)
Definition: BooleConstant.h:114
BooleConstant(short value)
Constructor for short integer values (nontrivial conversion)
Definition: BooleConstant.h:56
bool isConstant() const
Definition: BooleConstant.h:98
const bool m_value
Boolean value is stored as simple bool.
Definition: BooleConstant.h:104
const self * const_iterator
Define dummy iterator.
Definition: BooleConstant.h:47
bool isZero() const
Definition: BooleConstant.h:97
const_iterator orderedEnd() const
Finish polynomial-style iterations.
Definition: BooleConstant.h:86
const_iterator variableBegin() const
Start empty monomial iteration.
Definition: BooleConstant.h:89
BooleConstant(bool value)
constructor for bool values
Definition: BooleConstant.h:53
const_iterator variableEnd() const
Finish empty monomial iteration.
Definition: BooleConstant.h:92
BooleConstant(int value)
Constructor for integer values (nontrivial conversion)
Definition: BooleConstant.h:62
CTypes::ostream_type & operator<<(CTypes::ostream_type &os, const BooleConstant &rhs)
Stream output operator.
Definition: BooleConstant.h:109
BooleConstant operator*(const BooleConstant &lhs, const BooleConstant &rhs)
Definition: BooleConstant.h:124
This class wraps a bool value, which was not converted to a boolean polynomial or monomial yet...
Definition: BooleConstant.h:40
const_iterator orderedBegin() const
Start polynomial-style iterations.
Definition: BooleConstant.h:83
BooleConstant(long value)
Constructor for long integer values (nontrivial conversion)
Definition: BooleConstant.h:68
This struct contains type definitions to be used in library classes.
Definition: pbori_defs.h:269
bool hasConstantPart() const
Definition: BooleConstant.h:99