Generated on Thu Apr 11 14:00:01 2019 for Gecode by doxygen 1.6.3

Gecode::Int::Extensional::BitSet< IndexType > Class Template Reference

Bit-set. More...

#include <extensional.hh>

List of all members.

Public Member Functions

 BitSet (Space &home, unsigned int n)
 Initialize bit set for a number of words n.
template<class OldIndexType >
 BitSet (Space &home, const BitSet< OldIndexType > &bs)
 Initialize during cloning.
 BitSet (Space &home, const TinyBitSet< 1U > &tbs)
 Initialize during cloning (unused).
 BitSet (Space &home, const TinyBitSet< 2U > &tbs)
 Initialize during cloning (unused).
 BitSet (Space &home, const TinyBitSet< 3U > &tbs)
 Initialize during cloning (unused).
 BitSet (Space &home, const TinyBitSet< 4U > &tbs)
 Initialize during cloning (unused).
unsigned int limit (void) const
 Get the limit.
bool empty (void) const
 Check whether the set is empty.
void flush (void)
 Make the set empty.
unsigned int width (void) const
 Return the highest active index.
void clear_mask (BitSetData *mask) const
 Clear the first limit words in mask.
void add_to_mask (const BitSetData *b, BitSetData *mask) const
 Add to mask.
template<bool sparse>
void intersect_with_mask (const BitSetData *mask)
 Intersect with mask, sparse mask if sparse is true.
void intersect_with_masks (const BitSetData *a, const BitSetData *b)
 Intersect with the "or" of and b.
bool intersects (const BitSetData *b) const
 Check if has a non-empty intersection with the set.
void nand_with_mask (const BitSetData *b)
 Perform "nand" with b.
unsigned long long int ones (void) const
 Return the number of ones.
unsigned long long int ones (const BitSetData *b) const
 Return the number of ones after intersection with b.
unsigned long long int bits (void) const
 Return an upper bound on the number of bits.
unsigned int words (void) const
 Return the number of required bit set words.
unsigned int size (void) const
 Return the number of required bit set words.

Protected Member Functions

void replace_and_decrease (IndexType i, BitSetData w)
 Replace the i th word with w, decrease limit if w is zero.

Protected Attributes

IndexType _limit
 Limit.
IndexType * _index
 Indices.
BitSetData_bits
 Words.

Detailed Description

template<class IndexType>
class Gecode::Int::Extensional::BitSet< IndexType >

Bit-set.

Definition at line 235 of file extensional.hh.


Constructor & Destructor Documentation

template<class IndexType >
Gecode::Int::Extensional::BitSet< IndexType >::BitSet ( Space home,
unsigned int  n 
) [inline]

Initialize bit set for a number of words n.

Definition at line 77 of file bit-set.hpp.

template<class IndexType >
template<class OldIndexType >
Gecode::Int::Extensional::BitSet< IndexType >::BitSet ( Space home,
const BitSet< OldIndexType > &  bs 
) [inline]

Initialize during cloning.

Definition at line 91 of file bit-set.hpp.

template<class IndexType >
Gecode::Int::Extensional::BitSet< IndexType >::BitSet ( Space home,
const TinyBitSet< 1U > &  tbs 
) [inline]

Initialize during cloning (unused).

Definition at line 112 of file bit-set.hpp.

template<class IndexType >
Gecode::Int::Extensional::BitSet< IndexType >::BitSet ( Space home,
const TinyBitSet< 2U > &  tbs 
) [inline]

Initialize during cloning (unused).

Definition at line 117 of file bit-set.hpp.

template<class IndexType >
Gecode::Int::Extensional::BitSet< IndexType >::BitSet ( Space home,
const TinyBitSet< 3U > &  tbs 
) [inline]

Initialize during cloning (unused).

Definition at line 122 of file bit-set.hpp.

template<class IndexType >
Gecode::Int::Extensional::BitSet< IndexType >::BitSet ( Space home,
const TinyBitSet< 4U > &  tbs 
) [inline]

Initialize during cloning (unused).

Definition at line 127 of file bit-set.hpp.


Member Function Documentation

template<class IndexType >
void Gecode::Int::Extensional::BitSet< IndexType >::replace_and_decrease ( IndexType  i,
BitSetData  w 
) [inline, protected]

Replace the i th word with w, decrease limit if w is zero.

Definition at line 133 of file bit-set.hpp.

template<class IndexType >
unsigned int Gecode::Int::Extensional::BitSet< IndexType >::limit ( void   )  const [inline]

Get the limit.

Definition at line 42 of file bit-set.hpp.

template<class IndexType >
bool Gecode::Int::Extensional::BitSet< IndexType >::empty ( void   )  const [inline]

Check whether the set is empty.

Definition at line 48 of file bit-set.hpp.

template<class IndexType >
void Gecode::Int::Extensional::BitSet< IndexType >::flush ( void   )  [inline]

Make the set empty.

Definition at line 105 of file bit-set.hpp.

template<class IndexType >
unsigned int Gecode::Int::Extensional::BitSet< IndexType >::width ( void   )  const [inline]

Return the highest active index.

Definition at line 66 of file bit-set.hpp.

template<class IndexType >
void Gecode::Int::Extensional::BitSet< IndexType >::clear_mask ( BitSetData mask  )  const [inline]

Clear the first limit words in mask.

Definition at line 149 of file bit-set.hpp.

template<class IndexType >
void Gecode::Int::Extensional::BitSet< IndexType >::add_to_mask ( const BitSetData b,
BitSetData mask 
) const [inline]

Add to mask.

Definition at line 159 of file bit-set.hpp.

template<class IndexType >
template<bool sparse>
void Gecode::Int::Extensional::BitSet< IndexType >::intersect_with_mask ( const BitSetData mask  )  [inline]

Intersect with mask, sparse mask if sparse is true.

Definition at line 168 of file bit-set.hpp.

template<class IndexType >
void Gecode::Int::Extensional::BitSet< IndexType >::intersect_with_masks ( const BitSetData a,
const BitSetData b 
) [inline]

Intersect with the "or" of and b.

Definition at line 191 of file bit-set.hpp.

template<class IndexType >
bool Gecode::Int::Extensional::BitSet< IndexType >::intersects ( const BitSetData b  )  const [inline]

Check if has a non-empty intersection with the set.

Definition at line 219 of file bit-set.hpp.

template<class IndexType >
void Gecode::Int::Extensional::BitSet< IndexType >::nand_with_mask ( const BitSetData b  )  [inline]

Perform "nand" with b.

Definition at line 207 of file bit-set.hpp.

template<class IndexType >
unsigned long long int Gecode::Int::Extensional::BitSet< IndexType >::ones ( void   )  const [inline]

Return the number of ones.

Definition at line 238 of file bit-set.hpp.

template<class IndexType >
unsigned long long int Gecode::Int::Extensional::BitSet< IndexType >::ones ( const BitSetData b  )  const [inline]

Return the number of ones after intersection with b.

Definition at line 228 of file bit-set.hpp.

template<class IndexType >
unsigned long long int Gecode::Int::Extensional::BitSet< IndexType >::bits ( void   )  const [inline]

Return an upper bound on the number of bits.

Definition at line 247 of file bit-set.hpp.

template<class IndexType >
unsigned int Gecode::Int::Extensional::BitSet< IndexType >::words ( void   )  const [inline]

Return the number of required bit set words.

Definition at line 54 of file bit-set.hpp.

template<class IndexType >
unsigned int Gecode::Int::Extensional::BitSet< IndexType >::size ( void   )  const [inline]

Return the number of required bit set words.

Definition at line 60 of file bit-set.hpp.


Member Data Documentation

template<class IndexType>
IndexType Gecode::Int::Extensional::BitSet< IndexType >::_limit [protected]

Limit.

Definition at line 240 of file extensional.hh.

template<class IndexType>
IndexType* Gecode::Int::Extensional::BitSet< IndexType >::_index [protected]

Indices.

Definition at line 242 of file extensional.hh.

template<class IndexType>
BitSetData* Gecode::Int::Extensional::BitSet< IndexType >::_bits [protected]

Words.

Definition at line 244 of file extensional.hh.


The documentation for this class was generated from the following files: