バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWGBitVec(size)
#include <rw/gbitvec.h> declare(RWGBitVec,size) RWGBitVec(size) a;
#include "rw/gbitvec.h"
#include <iostream.h>
const int VECSIZE = 8;
declare(RWGBitVec, VECSIZE) // 24 ビット長のベクトルを宣言する
implement(RWGBitVec, VECSIZE) // ベクトルを実装する
main()
{
RWGBitVec(VECSIZE) a, b; // 2 つのベクトルを割り当てる
a(2) = TRUE; // a のビット 2 (第 3 ビット) をオンに設定する
b(3) = TRUE; // b のビット 3 (第 4 ビット) をオンに設定する
RWGBitVec(VECSIZE) c = a ^ b; // c に a と b の排他的論理和を設定する
cout << "Vector 1" << "\t" << "Vector 2" << "\t"
<< "Vector 1 xor Vector 2" << endl;
for(int i = 0; i < VECSIZE; i++)
cout << a[i] << "\t\t" << b[i] << "\t\t" << c[i] << endl;
return 0;
}
|
RWGBitVec(size)();
RWGBitVec(size)(RWBoolean f);
RWGBitVec(sz)& operator=(const RWGBitVec(sz)& v);
RWGBitVec(sz)& operator=(RWBoolean f);
RWGBitVec(sz)& operator&=(const RWGBitVec(sz)& v); RWGBitVec(sz)& operator^=(const RWGBitVec(sz)& v); RWGBitVec(sz)& operator|=(const RWGBitVec(sz)& v);
RWBitRef operator[](size_t i);
RWBitRef operator()(size_t i);
void clearBit(size_t i);
a(i) = FALSE;
a.clearBit(i);
const RWByte*
data() const;
void setBit(size_t i);
a(i) = TRUE;
a.setBit(i);
RWBoolean
testBit(size_t i) const;
if( a(i) ) doSomething();
if( a.testBit(i) ) doSomething();
RWGBitVec(sz) operator&(const RWGBitVec(sz)& v1, const RWGBitVec(sz)& v2); RWGBitVec(sz) operator^(const RWGBitVec(sz)& v1, const RWGBitVec(sz)& v2); RWGBitVec(sz) operator|(const RWGBitVec(sz)& v1, const RWGBitVec(sz)& v2);
RWBoolean
operator==(const RWGBitVec(sz)& v1, const RWGBitVec(sz)& v2)
const;
RWBoolean
operator!=(const RWGBitVec(sz)& v1, const RWGBitVec(sz)& v2)
const;
