SourcePro® 2024.1 |
SourcePro® API Reference Guide |
Parameterized bit vector of fixed length. More...
#include <rw/tbitvec.h>
Public Member Functions | |
RWTBitVec () | |
RWTBitVec (bool val) | |
RWTBitVec (const RWTBitVec< N > &v) | |
void | clearBit (size_t i) |
const RWByte * | data () const |
size_t | firstFalse () const |
size_t | firstTrue () const |
bool | operator!= (bool b) const |
bool | operator!= (const RWTBitVec< N > &v) const |
RWTBitVec< N > | operator& (const RWTBitVec< N > &v2) const |
RWTBitVec< N > & | operator&= (const RWTBitVec< N > &v) |
RWBitRef | operator() (size_t i) |
bool | operator() (size_t i) const |
bool | operator< (const RWTBitVec< N > &v) const |
RWTBitVec< N > & | operator= (bool val) |
RWTBitVec< N > & | operator= (const RWTBitVec< N > &v) |
bool | operator== (bool b) const |
bool | operator== (const RWTBitVec< N > &v) const |
RWBitRef | operator[] (size_t i) |
bool | operator[] (size_t i) const |
RWTBitVec< N > | operator^ (const RWTBitVec< N > &v2) const |
RWTBitVec< N > & | operator^= (const RWTBitVec< N > &v) |
RWTBitVec< N > | operator| (const RWTBitVec< N > &v2) const |
RWTBitVec< N > & | operator|= (const RWTBitVec< N > &v) |
void | setBit (size_t i) |
bool | testBit (size_t i) const |
RWTBitVec is a parameterized bit vector of fixed length Size
. Unlike class RWBitVec, its length cannot be changed at runtime. The advantage of RWTBitVec is its smaller size, and one less level of indirection, resulting in a slight speed advantage.
Bits are numbered from 0
through Size-1
, inclusive.
The copy constructor and assignment operator use copy semantics.
In this example, two 8-bit vectors are exercised:
Program output:
|
inline |
Constructs an instance with all bits set to false
.
|
inline |
Constructs an instance with all bits set to val.
|
inline |
Constructs a copy of v.
|
inline |
Clears (i.e., sets to false
) the bit with index i. The index i must be between 0
and Size-1
. No bounds checking is performed. The following two lines are equivalent, although using clearBit(size_t) is slightly smaller and faster than using operator()(size_t):
Returns a const
pointer to the raw data of self.
|
inline |
Returns the index of the first OFF
(false
) bit in self. Returns RW_NPOS if there is no OFF
bit.
|
inline |
Returns the index of the first ON
(true
) bit in self. Returns RW_NPOS if there is no ON
bit.
|
inline |
Returns true
if any bit of self is not set to the value b. Otherwise, returns false
.
Returns true
if any bit of self is not set to the same value as the corresponding bit in v. Otherwise, returns false
.
|
inline |
Returns the logical AND
of self and v2.
Logical assignments. Sets each bit of self to the logical AND
of self and the corresponding bit in v.
Returns a reference to the ith bit of self. This reference can be used as an lvalue. The index i must be between 0
and Size-1
, inclusive. No bounds checking is performed.
|
inline |
Returns the value of the i th bit of self. The index i must be between 0
and Size-1
, inclusive. No bounds checking is performed.
Returns true
if self is logically less than v. Otherwise, returns false
.
Sets all bits in self to the value val.
Sets self to a copy of v.
bool RWTBitVec< N >::operator== | ( | bool | b | ) | const |
Returns true
if every bit of self is set to the value b. Otherwise, returns false
.
Returns true
if each bit of self is set to the same value as the corresponding bit in v. Otherwise, returns false
.
Returns a reference to the i th bit of self. This reference can be used as an lvalue.
RWBoundsErr | thrown if index i is not between 0 and Size-1 , inclusive. |
|
inline |
Returns the value of the i th bit of self. Bounds checking is performed.
RWBoundsErr | is thrown if index i is not between 0 and Size-1 , inclusive. |
|
inline |
Returns the logical XOR
of self and v2.
Logical assignments. Sets each bit of self to the logical XOR
of self and the corresponding bit in v.
|
inline |
Returns the logical OR
of self and v2.
Logical assignments. Sets each bit of self to the logical OR
of self and the corresponding bit in v.
|
inline |
Sets (i.e., sets to true
) the bit with index i. The index i must be between 0
and Size-1
. No bounds checking is performed. The following two lines are equivalent, although using setBit(size_t) is slightly smaller and faster than using operator()(size_t).
|
inline |
Tests the bit with index i. The index i must be between 0
and Size-1
. No bounds checking is performed. The following are equivalent, although using testBit(size_t) is slightly smaller and faster than using operator()(size_t):
Copyright © 2024 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |