バナーをクリックすれば目次に戻ります
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;