#include <Bit_Vector.h>
Collaboration diagram for TAO_Notify::Bit_Vector:
Public Member Functions | |
Bit_Vector () | |
The constructor. | |
~Bit_Vector () | |
The destructor. | |
bool | is_set (const size_t location) const |
Determine if a bit at location is set. | |
void | set_bit (const size_t location, bool set) |
Set or unset a bit at location, growing the vector as needed. | |
size_t | find_first_bit (bool set) const |
Find the first bit that is either set or unset in an O(1). | |
Private Types | |
typedef ACE_UINT32 | BASIC_UINT_TYPE |
typedef ACE_Vector< BASIC_UINT_TYPE > | VECTOR_TYPE |
enum | { BITS_PER_WORD = 32, BPW_LOG_2 = 5 } |
Private Member Functions | |
void | evaluate_firsts (const size_t location, bool set) |
Update our first set and unset bits. | |
size_t | find_first_bit_of (const size_t location, bool set) |
Private Attributes | |
VECTOR_TYPE | bitvec_ |
size_t | size_ |
size_t | first_set_bit_ |
size_t | first_cleared_bit_ |
Written to support block allocation from persistent storage. Should be promoted to the ACE level to make it generally usable.
|
|
|
|
|
|
|
The constructor.
|
|
The destructor.
|
|
Update our first set and unset bits.
|
|
Find the first bit that is either set or unset in an O(1).
|
|
Iterate from location to the end, finding the first bit that matches the requested set or unset value. |
|
Determine if a bit at location is set.
|
|
Set or unset a bit at location, growing the vector as needed.
|
|
|
|
|
|
|
|
|