PPL Logo

CkBitVector Class Reference

#include <ckbitvector.h>

Collaboration diagram for CkBitVector:

Collaboration graph
[legend]

Public Member Functions

int Length () const
 CkBitVector ()
 CkBitVector (const CkBitVector &b)
 CkBitVector (prio_t bits)
 CkBitVector (prio_t value, prio_t choices)
 ~CkBitVector ()
CkBitVectoroperator= (const CkBitVector &b)
CkBitVectorZero ()
CkBitVectorInvert ()
CkBitVectorClear (prio_t bit)
CkBitVectorSet (prio_t bit)
bool Test (prio_t bit) const
CkBitVectorShiftDown (prio_t bits)
CkBitVectorShiftUp (prio_t bits)
CkBitVectorResize (prio_t bits)
CkBitVectorUnion (CkBitVector const &b)
CkBitVectorIntersection (CkBitVector const &b)
CkBitVectorDifference (CkBitVector const &b)
CkBitVectorConcat (CkBitVector const &b)
int Compare (const CkBitVector &b) const
bool operator== (const CkBitVector &b) const
bool operator!= (const CkBitVector &b) const
bool operator< (const CkBitVector &b) const
bool operator<= (const CkBitVector &b) const
bool operator> (const CkBitVector &b) const
bool operator>= (const CkBitVector &b) const
void pup (PUP::er &p)
CmiUInt4getData ()
unsigned int getDataLength ()

Static Public Member Functions

static prio_t ilog2 (prio_t val)

Protected Member Functions

prio_t offset (prio_t bit) const
prio_t mask (prio_t bit) const
void wipeData ()

Static Protected Member Functions

static prio_t chunkBits ()
static prio_t chunkSize ()
static prio_t chunks (prio_t n)

Protected Attributes

prio_t usedBits
prio_tdata

Friends

class CkEntryOptions
CkOutStreamoperator<< (CkOutStream &ckos, CkBitVector const b)
CkErrStreamoperator<< (CkErrStream &ckes, CkBitVector const b)

Detailed Description

Definition at line 18 of file ckbitvector.h.


Constructor & Destructor Documentation

CkBitVector::CkBitVector (  ) 

Definition at line 33 of file ckbitvector.C.

CkBitVector::CkBitVector ( const CkBitVector b  ) 

Definition at line 37 of file ckbitvector.C.

References chunks(), chunkSize(), data, and usedBits.

Here is the call graph for this function:

CkBitVector::CkBitVector ( prio_t  bits  ) 

Definition at line 47 of file ckbitvector.C.

References chunks(), chunkSize(), data, and usedBits.

Here is the call graph for this function:

CkBitVector::CkBitVector ( prio_t  value,
prio_t  choices 
)

Definition at line 58 of file ckbitvector.C.

References chunkBits(), chunks(), data, ilog2(), and usedBits.

Here is the call graph for this function:

CkBitVector::~CkBitVector (  ) 

Definition at line 76 of file ckbitvector.C.

References wipeData().

Here is the call graph for this function:


Member Function Documentation

static prio_t CkBitVector::chunkBits (  )  [inline, static, protected]

Definition at line 24 of file ckbitvector.h.

References chunkSize().

Referenced by chunks(), CkBitVector(), Invert(), mask(), ShiftDown(), and ShiftUp().

Here is the call graph for this function:

Here is the caller graph for this function:

static prio_t CkBitVector::chunkSize (  )  [inline, static, protected]

Definition at line 25 of file ckbitvector.h.

Referenced by chunkBits(), CkBitVector(), operator=(), pup(), Resize(), and Zero().

Here is the caller graph for this function:

static prio_t CkBitVector::chunks ( prio_t  n  )  [inline, static, protected]

Definition at line 26 of file ckbitvector.h.

References chunkBits().

Referenced by CkBitVector(), Compare(), Difference(), getDataLength(), Intersection(), Invert(), offset(), operator=(), pup(), Resize(), ShiftDown(), ShiftUp(), Union(), and Zero().

Here is the call graph for this function:

Here is the caller graph for this function:

prio_t CkBitVector::offset ( prio_t  bit  )  const [inline, protected]

Definition at line 27 of file ckbitvector.h.

References chunks(), and usedBits.

Referenced by Clear(), Set(), and Test().

Here is the call graph for this function:

Here is the caller graph for this function:

prio_t CkBitVector::mask ( prio_t  bit  )  const [inline, protected]

Definition at line 28 of file ckbitvector.h.

References chunkBits(), and usedBits.

Referenced by Clear(), Set(), and Test().

Here is the call graph for this function:

Here is the caller graph for this function:

static prio_t CkBitVector::ilog2 ( prio_t  val  )  [inline, static]

Definition at line 35 of file ckbitvector.h.

References PUP::u.

Referenced by CkBitVector(), and idaStarGroup::SpawnIteration().

Here is the caller graph for this function:

void CkBitVector::wipeData (  )  [protected]

Definition at line 81 of file ckbitvector.C.

References data, and usedBits.

Referenced by operator=(), Resize(), and ~CkBitVector().

Here is the caller graph for this function:

int CkBitVector::Length (  )  const [inline]

Definition at line 47 of file ckbitvector.h.

References usedBits.

CkBitVector & CkBitVector::operator= ( const CkBitVector b  ) 

Definition at line 92 of file ckbitvector.C.

References chunks(), chunkSize(), data, usedBits, and wipeData().

Here is the call graph for this function:

CkBitVector & CkBitVector::Zero (  ) 

Definition at line 113 of file ckbitvector.C.

References chunks(), chunkSize(), data, and usedBits.

Here is the call graph for this function:

CkBitVector & CkBitVector::Invert (  ) 

Definition at line 124 of file ckbitvector.C.

References chunkBits(), chunks(), data, int, and usedBits.

Here is the call graph for this function:

CkBitVector & CkBitVector::Clear ( prio_t  bit  ) 

Definition at line 144 of file ckbitvector.C.

References data, index, mask(), offset(), Resize(), and usedBits.

Referenced by idaStarGroup::SpawnIteration().

Here is the call graph for this function:

Here is the caller graph for this function:

CkBitVector & CkBitVector::Set ( prio_t  bit  ) 

Definition at line 164 of file ckbitvector.C.

References data, index, mask(), offset(), Resize(), and usedBits.

Referenced by idaStarGroup::SpawnIteration().

Here is the call graph for this function:

Here is the caller graph for this function:

bool CkBitVector::Test ( prio_t  bit  )  const

Definition at line 182 of file ckbitvector.C.

References data, index, mask(), offset(), and usedBits.

Referenced by operator<<().

Here is the call graph for this function:

Here is the caller graph for this function:

CkBitVector & CkBitVector::ShiftDown ( prio_t  bits  ) 

Definition at line 222 of file ckbitvector.C.

References chunkBits(), chunks(), data, and usedBits.

Referenced by Resize().

Here is the call graph for this function:

Here is the caller graph for this function:

CkBitVector & CkBitVector::ShiftUp ( prio_t  bits  ) 

Definition at line 199 of file ckbitvector.C.

References chunkBits(), chunks(), data, and usedBits.

Referenced by Concat(), and Resize().

Here is the call graph for this function:

Here is the caller graph for this function:

CkBitVector & CkBitVector::Resize ( prio_t  bits  ) 

Definition at line 251 of file ckbitvector.C.

References chunks(), chunkSize(), data, ShiftDown(), ShiftUp(), usedBits, and wipeData().

Referenced by Clear(), Concat(), Set(), and idaStarGroup::SpawnIteration().

Here is the call graph for this function:

Here is the caller graph for this function:

CkBitVector & CkBitVector::Union ( CkBitVector const &  b  ) 

Definition at line 302 of file ckbitvector.C.

References chunks(), data, and usedBits.

Referenced by Concat().

Here is the call graph for this function:

Here is the caller graph for this function:

CkBitVector & CkBitVector::Intersection ( CkBitVector const &  b  ) 

Definition at line 320 of file ckbitvector.C.

References chunks(), data, and usedBits.

Here is the call graph for this function:

CkBitVector & CkBitVector::Difference ( CkBitVector const &  b  ) 

Definition at line 338 of file ckbitvector.C.

References chunks(), data, and usedBits.

Here is the call graph for this function:

CkBitVector & CkBitVector::Concat ( CkBitVector const &  b  ) 

Definition at line 359 of file ckbitvector.C.

References data, Resize(), ShiftUp(), Union(), and usedBits.

Referenced by idaStarGroup::SpawnIteration().

Here is the call graph for this function:

Here is the caller graph for this function:

int CkBitVector::Compare ( const CkBitVector b  )  const

Definition at line 414 of file ckbitvector.C.

References chunks(), data, length, and usedBits.

Referenced by operator<(), operator==(), and operator>().

Here is the call graph for this function:

Here is the caller graph for this function:

bool CkBitVector::operator== ( const CkBitVector b  )  const [inline]

Definition at line 86 of file ckbitvector.h.

References Compare().

Here is the call graph for this function:

bool CkBitVector::operator!= ( const CkBitVector b  )  const [inline]

Definition at line 87 of file ckbitvector.h.

bool CkBitVector::operator< ( const CkBitVector b  )  const [inline]

Definition at line 88 of file ckbitvector.h.

References Compare().

Here is the call graph for this function:

bool CkBitVector::operator<= ( const CkBitVector b  )  const [inline]

Definition at line 89 of file ckbitvector.h.

bool CkBitVector::operator> ( const CkBitVector b  )  const [inline]

Definition at line 90 of file ckbitvector.h.

References Compare().

Here is the call graph for this function:

bool CkBitVector::operator>= ( const CkBitVector b  )  const [inline]

Definition at line 91 of file ckbitvector.h.

void CkBitVector::pup ( PUP::er p  ) 

Definition at line 450 of file ckbitvector.C.

References chunks(), chunkSize(), data, PUP::er::isUnpacking(), p, and usedBits.

Here is the call graph for this function:

CmiUInt4* CkBitVector::getData ( void   )  [inline]

Definition at line 102 of file ckbitvector.h.

References data.

unsigned int CkBitVector::getDataLength (  )  [inline]

Definition at line 103 of file ckbitvector.h.

References chunks(), and usedBits.

Here is the call graph for this function:


Friends And Related Function Documentation

friend class CkEntryOptions [friend]

Definition at line 106 of file ckbitvector.h.

CkOutStream& operator<< ( CkOutStream ckos,
CkBitVector const   b 
) [friend]

Definition at line 386 of file ckbitvector.C.

CkErrStream& operator<< ( CkErrStream ckes,
CkBitVector const   b 
) [friend]

Definition at line 400 of file ckbitvector.C.


Field Documentation

prio_t* CkBitVector::data [protected]


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:19:27 2020 for Charm++ by  doxygen 1.5.5