SourcePro® 2023.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= (const RWTBitVec< N > &v) |
RWTBitVec< N > & | operator= (bool val) |
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:
Constructs an instance with all bits set to false
.
Constructs an instance with all bits set to val.
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
.
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 self to a copy of v.
Sets all bits in self to the value val.
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. |
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.
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 © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |