Bitsets with index offset. More...
#include <bitset-offset.hpp>
Public Member Functions | |
BitSetOffset (A &a, unsigned int s, int o) | |
Bit set with space for s bits with offset of \o. | |
BitSetOffset (A &a, const BitSetOffset &bs) | |
Copy bit set bs. | |
~BitSetOffset (void) | |
Destructor. | |
bool | get (int i) const |
Access value at bit i. | |
void | set (int i) |
Set bit i. | |
void | clear (int i) |
Clear bit i. | |
int | next (int i) const |
Return position greater or equal i of next set bit (i is allowed to be equal to size) | |
void | resize (A &a, unsigned int n, int offset, bool set=false) |
Resize bitset to n elements with specified offset. | |
int | offset (void) const |
Retrieve the minimum valid index (the offset). | |
int | max_bit (void) const |
Retrieve the maximum valid index. | |
bool | valid (int i) const |
Is the bit index valid for this bitset? | |
![]() | |
BitSetBase (void) | |
Default constructor (yields empty set) | |
template<class A > | |
BitSetBase (A &a, unsigned int s, bool setbits=false) | |
Initialize for s bits and allocator a. | |
template<class A > | |
BitSetBase (A &a, const BitSetBase &bs) | |
Copy from bitset bs with allocator a. | |
template<class A > | |
void | init (A &a, unsigned int s, bool setbits=false) |
Initialize for s bits and allocator a (only after default constructor) | |
void | clearall (bool setbits=false) |
Clear sz bits. | |
void | copy (const BitSetBase &bs) |
Copy sz bits from bs. | |
unsigned int | size (void) const |
Return size of bitset (number of bits) | |
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) const |
Return position greater or equal i of next set bit (i is allowed to be equal to size) | |
BitSetStatus | status (void) const |
Return status of bitset. | |
bool | all (void) const |
Test whether all bits are set. | |
bool | none (void) const |
Test whether no bits are set. | |
template<class A > | |
void | resize (A &a, unsigned int n, bool setbits=false) |
Resize bitset to n elememts. | |
template<class A > | |
void | dispose (A &a) |
Dispose memory for bit set. | |
![]() | |
RawBitSetBase (void) | |
Default constructor (yields empty set) | |
template<class A > | |
RawBitSetBase (A &a, unsigned int sz, bool setbits=false) | |
Initialize for sz bits and allocator a. | |
template<class A > | |
RawBitSetBase (A &a, unsigned int sz, const RawBitSetBase &bs) | |
Copy from bitset bs with allocator a. | |
template<class A > | |
void | allocate (A &a, unsigned int sz) |
Allocate for sz bits and allocator a (only after default constructor) | |
template<class A > | |
void | init (A &a, unsigned int sz, bool setbits=false) |
Initialize for sz bits and allocator a (only after default constructor) | |
void | clearall (unsigned int sz, bool setbits=false) |
Clear sz bits. | |
void | copy (unsigned int sz, const RawBitSetBase &bs) |
Copy sz bits from bs. | |
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) const |
Return position greater or equal i of next set bit (i is allowed to be equal to size) | |
BitSetStatus | status (unsigned int sz) const |
Return status of bitset. | |
bool | all (unsigned int sz) const |
Test whether all bits are set. | |
bool | none (unsigned int sz) const |
Test whether no bits are set. | |
template<class A > | |
void | resize (A &a, unsigned int sz, unsigned int n, bool setbits=false) |
Resize bitset from sz to n elememts. | |
template<class A > | |
void | dispose (A &a, unsigned int sz) |
Dispose memory for bit set. | |
Protected Attributes | |
A & | a |
Allocator. | |
int | _offset |
Offset. | |
![]() | |
unsigned int | sz |
Size of bitset (number of bits) | |
![]() | |
BitSetData * | data |
Stored bits. | |
Additional Inherited Members | |
![]() | |
static const unsigned int | bpb = BitSetData::bpb |
Bits per base. | |
Bitsets with index offset.
The valid range of indices for a BitSetOffset with s bits and an offset of o is [o, o+1, ..., o+s-1].
Definition at line 51 of file bitset-offset.hpp.
|
inline |
Bit set with space for s bits with offset of \o.
Definition at line 90 of file bitset-offset.hpp.
|
inline |
Copy bit set bs.
Definition at line 95 of file bitset-offset.hpp.
|
inline |
Destructor.
Definition at line 100 of file bitset-offset.hpp.
|
inline |
Access value at bit i.
Definition at line 106 of file bitset-offset.hpp.
|
inline |
Set bit i.
Definition at line 110 of file bitset-offset.hpp.
|
inline |
Clear bit i.
Definition at line 114 of file bitset-offset.hpp.
|
inline |
Return position greater or equal i of next set bit (i is allowed to be equal to size)
Definition at line 118 of file bitset-offset.hpp.
void Gecode::Support::BitSetOffset< A >::resize | ( | A & | a, |
unsigned int | n, | ||
int | offset, | ||
bool | set = false ) |
Resize bitset to n elements with specified offset.
Definition at line 122 of file bitset-offset.hpp.
|
inline |
Retrieve the minimum valid index (the offset).
Definition at line 129 of file bitset-offset.hpp.
|
inline |
Retrieve the maximum valid index.
Definition at line 133 of file bitset-offset.hpp.
|
inline |
Is the bit index valid for this bitset?
Definition at line 137 of file bitset-offset.hpp.
|
protected |
Definition at line 54 of file bitset-offset.hpp.
|
protected |
Offset.
Definition at line 56 of file bitset-offset.hpp.