19 #ifndef COPASI_CZeroSet
20 #define COPASI_CZeroSet
39 CIndex(
const size_t & index = 0);
107 for (; pIt != pEnd; ++pIt, ++pRhs)
125 for (; pIt != pEnd; ++pIt, ++pRhs)
140 return Intersection &= set2;
150 for (; pIt != pEnd; ++pIt, ++pRhs)
152 if (*pIt != (*pIt | *pRhs))
168 bool isExtremeRay(
const std::vector< CStepMatrixColumn * > & columns)
const;
180 size_t numberOfBits = 0;
182 for (
size_t i = 0; i < CHAR_BIT *
sizeof(size_t); ++i)
194 #endif // COPASI_CZeroSet
CZeroSet(const size_t &index=0)
size_t countSetBits(size_t bits)
CZeroSet & operator&=(const CZeroSet &rhs)
CIndex & operator=(const CIndex &rhs)
size_t getNumberOfBits() const
bool operator<(const CIndex &rhs) const
size_t getNumberOfUnsetBits() const
CIndex(const size_t &index=0)
void setBit(const CIndex &index)
const size_t & getNumberOfSetBits() const
friend std::ostream & operator<<(std::ostream &, const CZeroSet &)
CZeroSet & operator|=(const CZeroSet &rhs)
void unsetBit(const CIndex &index)
bool isSet(const CIndex &index) const
bool isExtremeRay(const std::vector< CStepMatrixColumn * > &columns) const
static CZeroSet intersection(const CZeroSet &set1, const CZeroSet &set2)
CVector< size_t > mBitSet
bool operator==(const CZeroSet &rhs) const
bool operator>=(const CZeroSet &rhs) const