L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
cxx::Bitmap< BITS > Class Template Reference

A static bitmap. More...

#include <bitmap>

+ Inheritance diagram for cxx::Bitmap< BITS >:
+ Collaboration diagram for cxx::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 cxx::Bitmap< BITS >

A static bitmap.

Template Parameters
BITSThe number of bits that shall be in the bitmap.

Definition at line 231 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_bitHint 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.
-1All 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().

+ Here is the call graph for this function:

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