template <typename T>

class RleBitmapBase

Defined at line 21 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

A run-length encoded bitmap.

Public Methods

void RleBitmapBase<T> ()

Defined at line 47 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

void RleBitmapBase<T> (RleBitmapBase<T> && rhs)

Defined at line 49 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

RleBitmapBase<T> & operator= (RleBitmapBase<T> && rhs)

Defined at line 50 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

size_t num_ranges ()

Returns the current number of ranges.

Defined at line 53 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

T num_bits ()

Returns the current number of bits.

Defined at line 56 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

const_iterator cbegin ()

Iterate over the ranges in the bitmap. Modifying the list while

iterating over it may yield undefined results.

Defined at line 99 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

const_iterator begin ()

Defined at line 100 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

const_iterator end ()

Defined at line 101 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

const_iterator cend ()

Defined at line 102 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

zx_status_t Find (bool is_set, T bitoff, T bitmax, T run_len, T * out)

Defined at line 150 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

bool Get (T bitoff, T bitmax, T * first_unset)

Returns true if all the bits in [*bitoff*, *bitmax*) are set. Afterwards,

*first_unset* will be set to the lesser of bitmax and the index of the

first unset bit after *bitoff*.

Defined at line 203 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

zx_status_t Set (T bitoff, T bitmax)

Sets all bits in the range [*bitoff*, *bitmax*). Only fails on allocation

error or if bitmax

<

bitoff.

Defined at line 231 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

zx_status_t SetNoAlloc (T bitoff, T bitmax, FreeList * free_list)

Sets all bits in the range [*bitoff*, *bitmax*). Only fails if

*bitmax*

<

*bitoff* or if an allocation is needed and *free_list*

does not contain one.

*free_list* is a list of usable allocations. If an allocation is needed,

it will be drawn from it. This function is guaranteed to need at most

one allocation. If any nodes need to be deleted, they will be appended

to *free_list*.

Defined at line 236 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

zx_status_t SetNoAlloc (T bitoff, T bitmax, FreeList * free_list)

Sets all bits in the range [*bitoff*, *bitmax*). Only fails if

*bitmax*

<

*bitoff* or if an allocation is needed and *free_list*

does not contain one.

*free_list* is a list of usable allocations. If an allocation is needed,

it will be drawn from it. This function is guaranteed to need at most

one allocation. If any nodes need to be deleted, they will be appended

to *free_list*.

Defined at line 236 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

zx_status_t Clear (T bitoff, T bitmax)

Clears all bits in the range [*bitoff*, *bitmax*). Only fails on allocation

error or if bitmax

<

bitoff.

Defined at line 245 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

zx_status_t ClearNoAlloc (T bitoff, T bitmax, FreeList * free_list)

Clear all bits in the range [*bitoff*, *bitmax*). Only fails if

*bitmax*

<

*bitoff* or if an allocation is needed and *free_list*

does not contain one.

*free_list* is a list of usable allocations. If an allocation is needed,

it will be drawn from it. This function is guaranteed to need at most

one allocation. If any nodes need to be deleted, they will be appended

to *free_list*.

Defined at line 250 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

zx_status_t ClearNoAlloc (T bitoff, T bitmax, FreeList * free_list)

Clear all bits in the range [*bitoff*, *bitmax*). Only fails if

*bitmax*

<

*bitoff* or if an allocation is needed and *free_list*

does not contain one.

*free_list* is a list of usable allocations. If an allocation is needed,

it will be drawn from it. This function is guaranteed to need at most

one allocation. If any nodes need to be deleted, they will be appended

to *free_list*.

Defined at line 250 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

void ClearAll ()

Clear all bits in the bitmap.

Defined at line 224 of file ../../zircon/system/ulib/bitmap/include/bitmap/rle-bitmap.h

Records