L4Re Operating System Framework
Interface and Usage Documentation
|
A static bitmap. More...
#include <bitmap>
Public Member Functions | |
Bitmap () noexcept | |
Create a bitmap with BITS bits. | |
long | scan_zero (long start_bit=0) const noexcept |
Scan for the first zero bit. | |
Public Member Functions inherited from cxx::Bitmap_base | |
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 | atomic_clear_bit (long bit) noexcept |
Clear bit bit atomically. | |
word_type | atomic_get_and_clear (long bit) noexcept |
Clear bit bit atomically and return old state. | |
void | set_bit (long bit) noexcept |
Set bit bit . | |
void | atomic_set_bit (long bit) noexcept |
Set bit bit atomically. | |
word_type | atomic_get_and_set (long bit) noexcept |
Set bit bit atomically and return old state. | |
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. | |
Additional Inherited Members | |
Static Public Member Functions inherited from cxx::Bitmap_base | |
static long | words (long bits) noexcept |
Get the number of Words that are used for the bitmap. | |
static long | chars (long bits) noexcept |
Get the number of chars that are used for the bitmap. | |
Protected Types inherited from cxx::Bitmap_base | |
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 Protected Member Functions inherited from cxx::Bitmap_base | |
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. | |
Protected Attributes inherited from cxx::Bitmap_base | |
word_type * | _bits |
Pointer to the buffer storing the bits. | |
A static bitmap.
BITS | The number of bits that shall be in the bitmap. |
|
inlinenoexcept |
Scan for the first zero bit.
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. |
>= | 0 Number of first zero bit found. |
-1 | All bits at start_bit or higher are set. |
Compared to Bitmap_base::scan_zero(), the upper bound is set to BITS.
Definition at line 376 of file bitmap.
References cxx::Bitmap_base::scan_zero().