Loading...
Searching...
No Matches
L4Re::Util::Bitmap< BITS > Class Template Reference

A static bitmap. More...

`#include <bitmap>`

Inheritance diagram for L4Re::Util::Bitmap< BITS >:
Collaboration diagram for L4Re::Util::Bitmap< BITS >:

## 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.

## Detailed Description

template<int BITS>
class L4Re::Util::Bitmap< BITS >

A static bitmap.

Template Parameters

  BITS | The number of bits that shall be in the bitmap.

Definition at line 220 of file bitmap.

## Member Function Documentation

## scan_zero()

template<int BITS>

long cxx::Bitmap< BITS >::scan_zero | ( | long | start_bit = 0 | ) | const

inlinenoexcept

Scan for the first zero bit.

Parameters

  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 at start_bit or higher are set.

Compared to Bitmap_base::scan_zero(), the upper bound is set to BITS.

Definition at line 365 of file bitmap.

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

- l4/cxx/bitmap