/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2008.05.15 * ³» ¿ë : * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #pragma warning( push ) #pragma warning( disable: 4800 ) /// ºñÆ® ¹è¿­ class cBitArray { static const unsigned int BITSIZE = sizeof(unsigned int) * 8; public: unsigned int mWidth; unsigned int mHeight; protected: unsigned int* mArray; unsigned int mSize; public: cBitArray( unsigned int size ); ~cBitArray(); void Clear(); void Resize( unsigned int size ); void Set( unsigned int index, bool value ); void SetAll( bool value ); unsigned int GetSize() const; bool operator[] ( unsigned int index ); }; inline unsigned int cBitArray::GetSize() const { return mSize * BITSIZE; } inline bool cBitArray::operator[] ( unsigned int index ) { unsigned int cell = index / BITSIZE; unsigned int bit = index % BITSIZE; assert( cell < mSize ); return (bool)((mArray[cell] & (1 << bit)) >> bit); } #pragma warning( pop )