Basic bitmap abstraction.
More...
#include <bitmap>
|
class | Bit |
| A writeable bit in a bitmap. More...
|
|
class | Char |
| Helper abstraction for a byte contained in the bitmap. More...
|
|
class | Word |
| Helper abstraction for a word contained in the bitmap. More...
|
|
|
void | bit (long bit, bool on) noexcept |
| Set the value of bit bit to on.
|
|
void | clear_bit (long bit) noexcept |
| Clear bit bit.
|
|
void | set_bit (long bit) noexcept |
| Set bit bit.
|
|
word_type | bit (long bit) const noexcept |
| Get the truth value of a bit.
|
|
word_type | operator[] (long bit) const noexcept |
| Get the bit at index bit.
|
|
Bit | operator[] (long bit) noexcept |
| Get the lvalue for the bit at index bit.
|
|
long | scan_zero (long max_bit, long start_bit=0) const noexcept |
| Scan for the first zero bit.
|
|
|
static long | words (long bits) noexcept |
| Get the number of Words that are used for the bitmap.
|
|
static long | chars (long bits) throw () |
| Get the number of chars that are used for the bitmap.
|
|
|
enum | { W_bits = sizeof(word_type) * 8
, C_bits = 8
} |
|
typedef unsigned long | word_type |
| Data type for each element of the bit buffer.
|
|
|
static unsigned | word_index (unsigned bit) |
| Get the word index for the given bit.
|
|
static unsigned | bit_index (unsigned bit) |
| Get the bit index within word_type for the given bit.
|
|
|
word_type * | _bits |
| Pointer to the buffer storing the bits.
|
|
Basic bitmap abstraction.
This abstraction keeps a pointer to a memory area that is used as bitmap.
Definition at line 30 of file bitmap.
◆ anonymous enum
Enumerator |
---|
W_bits | number of bits in word_type
|
C_bits | number of bits in char
|
Definition at line 38 of file bitmap.
◆ bit() [1/2]
Get the truth value of a bit.
- Parameters
-
bit | the number of the bit to read. |
- Returns
- 0 if bit is not set, != 0 if bit is set.
Definition at line 238 of file bitmap.
◆ bit() [2/2]
void cxx::Bitmap_base::bit |
( |
long |
bit, |
|
|
bool |
on |
|
) |
| |
|
inlinenoexcept |
Set the value of bit bit to on.
- Parameters
-
bit | the number of the bit |
on | the boolean value that shall be assigned to the bit. |
Definition at line 211 of file bitmap.
Referenced by operator[](), and operator[]().
◆ bit_index()
static unsigned cxx::Bitmap_base::bit_index |
( |
unsigned |
bit | ) |
|
|
inlinestaticprotected |
Get the bit index within word_type for the given bit.
- Parameters
-
bit | the bit index in the bitmap. |
- Returns
- the bit index within word_type (bit % W_bits).
Definition at line 61 of file bitmap.
References W_bits.
◆ clear_bit()
void cxx::Bitmap_base::clear_bit |
( |
long |
bit | ) |
|
|
inlinenoexcept |
Clear bit bit.
- Parameters
-
bit | the number of the bit to clear. |
Definition at line 220 of file bitmap.
◆ operator[]() [1/2]
word_type cxx::Bitmap_base::operator[] |
( |
long |
bit | ) |
const |
|
inlinenoexcept |
Get the bit at index bit.
- Parameters
-
bit | the number of the bit to read. |
- Returns
- 0 if bit is not set, != 0 if bit is set.
Definition at line 143 of file bitmap.
References bit().
◆ operator[]() [2/2]
Bit cxx::Bitmap_base::operator[] |
( |
long |
bit | ) |
|
|
inlinenoexcept |
Get the lvalue for the bit at index bit.
- Parameters
-
- Returns
- lvalue for bit
Definition at line 151 of file bitmap.
References bit().
◆ scan_zero()
long cxx::Bitmap_base::scan_zero |
( |
long |
max_bit, |
|
|
long |
start_bit = 0 |
|
) |
| const |
|
inlinenoexcept |
Scan for the first zero bit.
- Parameters
-
max_bit | Upper bound (exclusive) for the scanning operation. |
start_bit | Hint at the number of the first bit to look at. Zero bits below start_bit may or may not be taken into account by the implementation. |
- Return values
-
>= | 0 Number of first zero bit found. |
-1 | All bits between start_bit and max_bit are set. |
Definition at line 259 of file bitmap.
Referenced by cxx::Bitmap< BITS >::scan_zero().
◆ set_bit()
void cxx::Bitmap_base::set_bit |
( |
long |
bit | ) |
|
|
inlinenoexcept |
Set bit bit.
- Parameters
-
bit | the number of the bit to set, |
Definition at line 229 of file bitmap.
◆ word_index()
static unsigned cxx::Bitmap_base::word_index |
( |
unsigned |
bit | ) |
|
|
inlinestaticprotected |
Get the word index for the given bit.
- Parameters
-
bit | the index of the bit in question. |
- Returns
- the index in Bitmap_base::_bits for the given bit (bit / W_bits).
Definition at line 54 of file bitmap.
References W_bits.
The documentation for this class was generated from the following file: