BitVec Class Reference

Class BitVec defines a bit-vector as an array of BitVecType. More...

#include <BitVec.h>

Inheritance diagram for BitVec:
sfcIndex PeanoHilbert

List of all members.

Public Member Functions

 BitVec ()
 BitVec (const int len)
 Constructor BitVec creates a bit vector of length "len" as an of BitVecType.
 BitVec (BitVec const &other)
 ~BitVec ()
BitVec const & operator= (BitVec const &other)
 Overload the various operators for BitVec.
int operator== (BitVec const &other) const
int operator!= (BitVec const &other) const
int operator> (BitVec const &other) const
int operator< (BitVec const &other) const
int operator>= (BitVec const &other) const
int operator<= (BitVec const &other) const
int TestBit (const int loc) const
void SetBit (const int loc)
void UnsetBit (const int loc)
void ToggleBit (const int loc)
void SwapBit (const int loc1, const int loc2)
 swaps the bits at locations "loc1" and "loc2".
int IsolateBit (const int loc, const int num=1) const
 Isolates the bit at location "loc" of bit vector and returns it as the LSB of an int.
void ResetVec (void)
void SetVec (void)
int GetLength (void) const
int GetSlotWidth (void) const
int GetSlots (void) const

Detailed Description

Class BitVec defines a bit-vector as an array of BitVecType.

Necessary for space-filling curve. Bit are numbered from O; i.e. The MSB of BitVec[0] is bit 0 and the LSB of BitVec[Dim-1] is bit NBit-1 where NBit=Sizeof(BitVecType)*Dim. Operations on the bit vector include testing/setting and toggleing a set of bits corresponding to a digit and isolating the bits. This class has been modified to have a fix maxlen of the bitvector so that it does not need dynamic allocations.

Author:
Manish Parashar

Constructor & Destructor Documentation

BitVec::BitVec (  )  [inline]

References ByteWidth.

BitVec::BitVec ( const int  len  ) 

Constructor BitVec creates a bit vector of length "len" as an of BitVecType.

The bit vector is initialized to 0.

References ByteWidth, and MaxBitVecSlots.

BitVec::BitVec ( BitVec const &  other  )  [inline]
BitVec::~BitVec (  )  [inline]

Member Function Documentation

int BitVec::GetLength ( void   )  const [inline]
int BitVec::GetSlots ( void   )  const [inline]
int BitVec::GetSlotWidth ( void   )  const [inline]
int BitVec::IsolateBit ( const int  loc,
const int  num = 1 
) const

Isolates the bit at location "loc" of bit vector and returns it as the LSB of an int.

Referenced by sfcIndex::sfcGetCoords(), sfcIndex::sfcGetDigit(), sfcIndex::sfcGetIndex(), and SwapBit().

int BitVec::operator!= ( BitVec const &  other  )  const
int BitVec::operator< ( BitVec const &  other  )  const
int BitVec::operator<= ( BitVec const &  other  )  const
BitVec const & BitVec::operator= ( BitVec const &  other  ) 

Overload the various operators for BitVec.

int BitVec::operator== ( BitVec const &  other  )  const
int BitVec::operator> ( BitVec const &  other  )  const
int BitVec::operator>= ( BitVec const &  other  )  const
void BitVec::ResetVec ( void   )  [inline]
void BitVec::SetBit ( const int  loc  )  [inline]

Referenced by SwapBit().

void BitVec::SetVec ( void   )  [inline]
void BitVec::SwapBit ( const int  loc1,
const int  loc2 
)

swaps the bits at locations "loc1" and "loc2".

Remember that the most significant bit is numbered 0.

References IsolateBit(), SetBit(), TestBit(), and UnsetBit().

Referenced by sfcIndex::sfcSwapDigitWd().

int BitVec::TestBit ( const int  loc  )  const [inline]

Referenced by SwapBit().

void BitVec::ToggleBit ( const int  loc  )  [inline]
void BitVec::UnsetBit ( const int  loc  )  [inline]

Referenced by SwapBit().


The documentation for this class was generated from the following files:
Generated on Thu Jun 30 02:19:00 2016 for AMROC's Hierachical Data Structures by  doxygen 1.6.3