Gecode::Support::BitSetData Class Reference

Date item for bitsets. More...

`#include <bitset-base.hpp>`

## Public Member Functions

void | init (bool setbits=false)
| Initialize with all bits set if setbits.
bool | operator() (unsigned int i=0U) const
| Test wether any bit with position greater or equal to i is set.
bool | get (unsigned int i) const
| Access value at bit i.
void | set (unsigned int i)
| Set bit i.
void | clear (unsigned int i)
| Clear bit i.
unsigned int | next (unsigned int i=0U) const
| Return next set bit with position greater or equal to i (there must be a bit).
bool | all (void) const
| Whether all bits are set.
bool | all (unsigned int i) const
| Whether all bits from bit 0 to bit i are set.
bool | none (void) const
| Whether no bits are set.
bool | none (unsigned int i) const
| Whether no bits from bit 0 to bit i are set.
unsigned int | ones (void) const
| Return the number of bits set.
unsigned int | zeroes (void) const
| Return the number of bits not set.
bool | one (void) const
| Check whether exactly one bit is set.
void | a (BitSetData a)
| Perform "and" with a.
void | a (BitSetData a, unsigned int i)
| Perform "and" with a for bits 0 to i.
void | o (BitSetData a)
| Perform "or" with a.
void | o (BitSetData a, unsigned int i)
| Perform "or" with a for bits 0 to i.
bool | operator== (BitSetData a) const
| Check if bits are the same as for a.
bool | operator!= (BitSetData a) const
| Check if bits are not the same as for a.
BitSetData | operator~ (void) const
| Invert all bits in b.

## Static Public Member Functions

static unsigned int | data (unsigned int s)
| Get number of data elements for s bits.
static BitSetData | a (BitSetData a, BitSetData b)
| Return "and" of a and b.
static BitSetData | o (BitSetData a, BitSetData b)
| Return "or" of a and b.

## Static Public Attributes

static const unsigned int | bpb
| Bits per base.

## Protected Types

typedef unsigned long long int | Base
| Basetype for bits.

## Protected Attributes

Base | bits
| The bits.

## Detailed Description

Date item for bitsets.

Definition at line 65 of file bitset-base.hpp.

## Member Typedef Documentation

## Base

typedef unsigned long long int Gecode::Support::BitSetData::Base

protected

Basetype for bits.

Definition at line 73 of file bitset-base.hpp.

## Member Function Documentation

## init()

void Gecode::Support::BitSetData::init | ( | bool | setbits = false | ) |

inline

Initialize with all bits set if setbits.

Definition at line 246 of file bitset-base.hpp.

## data()

unsigned int Gecode::Support::BitSetData::data | ( | unsigned int | s | ) |

inline static

Get number of data elements for s bits.

Definition at line 250 of file bitset-base.hpp.

## operator()()

bool Gecode::Support::BitSetData::operator() | ( | unsigned int | i = 0U | ) | const

inline

Test wether any bit with position greater or equal to i is set.

Definition at line 254 of file bitset-base.hpp.

## get()

bool Gecode::Support::BitSetData::get | ( | unsigned int | i | ) | const

inline

Access value at bit i.

Definition at line 258 of file bitset-base.hpp.

## set()

void Gecode::Support::BitSetData::set | ( | unsigned int | i | ) |

inline

Set bit i.

Definition at line 262 of file bitset-base.hpp.

## clear()

void Gecode::Support::BitSetData::clear | ( | unsigned int | i | ) |

inline

Clear bit i.

Definition at line 266 of file bitset-base.hpp.

## next()

unsigned int Gecode::Support::BitSetData::next | ( | unsigned int | i = 0U | ) | const

inline

Return next set bit with position greater or equal to i (there must be a bit).

Definition at line 270 of file bitset-base.hpp.

## all() [1/2]

bool Gecode::Support::BitSetData::all | ( | void |  | ) | const

inline

Whether all bits are set.

Definition at line 294 of file bitset-base.hpp.

## all() [2/2]

bool Gecode::Support::BitSetData::all | ( | unsigned int | i | ) | const

inline

Whether all bits from bit 0 to bit i are set.

Definition at line 298 of file bitset-base.hpp.

## none() [1/2]

bool Gecode::Support::BitSetData::none | ( | void |  | ) | const

inline

Whether no bits are set.

Definition at line 303 of file bitset-base.hpp.

## none() [2/2]

bool Gecode::Support::BitSetData::none | ( | unsigned int | i | ) | const

inline

Whether no bits from bit 0 to bit i are set.

Definition at line 307 of file bitset-base.hpp.

## ones()

unsigned int Gecode::Support::BitSetData::ones | ( | void |  | ) | const

inline

Return the number of bits set.

Definition at line 313 of file bitset-base.hpp.

## zeroes()

unsigned int Gecode::Support::BitSetData::zeroes | ( | void |  | ) | const

inline

Return the number of bits not set.

Definition at line 336 of file bitset-base.hpp.

## one()

bool Gecode::Support::BitSetData::one | ( | void |  | ) | const

inline

Check whether exactly one bit is set.

Definition at line 340 of file bitset-base.hpp.

## a() [1/3]

void Gecode::Support::BitSetData::a | ( | BitSetData | a | ) |

inline

Perform "and" with a.

Definition at line 346 of file bitset-base.hpp.

## a() [2/3]

void Gecode::Support::BitSetData::a | ( | BitSetData | a,
|  | unsigned int | i )

inline

Perform "and" with a for bits 0 to i.

Definition at line 350 of file bitset-base.hpp.

## a() [3/3]

BitSetData Gecode::Support::BitSetData::a | ( | BitSetData | a,
|  | BitSetData | b )

inline static

Return "and" of a and b.

Definition at line 355 of file bitset-base.hpp.

## o() [1/3]

void Gecode::Support::BitSetData::o | ( | BitSetData | a | ) |

inline

Perform "or" with a.

Definition at line 362 of file bitset-base.hpp.

## o() [2/3]

void Gecode::Support::BitSetData::o | ( | BitSetData | a,
|  | unsigned int | i )

inline

Perform "or" with a for bits 0 to i.

Definition at line 366 of file bitset-base.hpp.

## o() [3/3]

BitSetData Gecode::Support::BitSetData::o | ( | BitSetData | a,
|  | BitSetData | b )

inline static

Return "or" of a and b.

Definition at line 371 of file bitset-base.hpp.

## operator==()

bool Gecode::Support::BitSetData::operator== | ( | BitSetData | a | ) | const

inline

Check if bits are the same as for a.

Definition at line 384 of file bitset-base.hpp.

## operator!=()

bool Gecode::Support::BitSetData::operator!= | ( | BitSetData | a | ) | const

inline

Check if bits are not the same as for a.

Definition at line 388 of file bitset-base.hpp.

## operator~()

BitSetData Gecode::Support::BitSetData::operator~ | ( | void |  | ) | const

inline

Invert all bits in b.

Definition at line 378 of file bitset-base.hpp.

## Member Data Documentation

## bits

Base Gecode::Support::BitSetData::bits

protected

The bits.

Definition at line 76 of file bitset-base.hpp.

## bpb

const unsigned int Gecode::Support::BitSetData::bpb

static

Initial value:
=
static_cast<unsigned int>(CHAR_BIT * sizeof(Base))
Gecode::Support::BitSetData::Base
unsigned long long int Base
Basetype for bits.
Definition bitset-base.hpp:73

Bits per base.

Definition at line 79 of file bitset-base.hpp.

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

- gecode/support/bitset-base.hpp