#include <BitVector.H>
Public Member Functions | |
| BitVector (long sizeHint=0) throw () | |
| BitVector (const BitVector *bv) throw () | |
| BitVector (RecoveryReader &rd) throw (VestaLog::Error, VestaLog::Eof) | |
| BitVector (std::istream &ifs) throw (FS::EndOfFile, FS::Failure) | |
| BitVector (SRPC &srpc) throw (SRPC::failure) | |
| ~BitVector () throw () | |
| bool | IsEmpty () const throw () |
| unsigned int | Size () const throw () |
| unsigned int | Cardinality () const throw () |
| bool | Read (unsigned int i) const throw () |
| bool | Write (unsigned int i, bool val) throw () |
| bool | Set (unsigned int i) throw () |
| bool | Reset (unsigned int i) throw () |
| Word | ReadWord (unsigned int start, unsigned short len) const throw () |
| void | WriteWord (unsigned int start, unsigned short len, Word val) throw () |
| void | WriteInterval (unsigned int lo, unsigned int hi, bool val) throw () |
| void | SetInterval (unsigned int lo, unsigned int hi) throw () |
| void | ResetInterval (unsigned int lo, unsigned int hi) throw () |
| void | ResetAll (bool freeMem=false) throw () |
| unsigned int | NextAvailExcept (BitVector *except=(BitVector *) NULL, bool setIt=true) throw () |
| unsigned int | NextAvail (bool setIt=true) throw () |
| int | MSB () const throw () |
| void | Pack (const BitVector &mask) throw () |
| void | Pack (const BitVector *mask) throw () |
| void | Log (VestaLog &log) const throw (VestaLog::Error) |
| void | Recover (RecoveryReader &rd) throw (VestaLog::Error, VestaLog::Eof) |
| void | Write (std::ostream &ofs) const throw (FS::Failure) |
| void | Read (std::istream &ifs) throw (FS::EndOfFile, FS::Failure) |
| void | Send (SRPC &srpc) const throw (SRPC::failure) |
| void | Recv (SRPC &srpc) throw (SRPC::failure) |
| void | Print (std::ostream &s, int maxWidth=64) const throw () |
| void | PrintAll (std::ostream &s, int indent=0, int maxWidth=70) const throw () |
| BitVector & | operator= (const BitVector &bv) throw () |
| BitVector & | operator &= (const BitVector &bv) throw () |
| BitVector & | operator|= (const BitVector &bv) throw () |
| BitVector & | operator^= (const BitVector &bv) throw () |
| BitVector & | operator-= (const BitVector &bv) throw () |
Private Member Functions | |
| BitVector (long sizeHint, bool doZero) throw () | |
| void | Init (long sizeHint, bool doZero) throw () |
| void | Extend (unsigned short wordCnt, bool doPreserve=true) throw () |
| void | ExpandSz (unsigned int i, unsigned short wx) throw () |
| void | ReduceSz () throw () |
| BitVector (const BitVector &bv) | |
Private Attributes | |
| Basics::uint16 | numWords |
| Basics::uint16 | firstAvailWd |
| Basics::uint32 | sz |
| Word * | word |
Friends | |
| class | BVIter |
| std::ostream & | operator<< (std::ostream &os, const BitVector &fv) throw () |
| bool | operator== (const BitVector &bv1, const BitVector &bv2) throw () |
| bool | operator!= (const BitVector &bv1, const BitVector &bv2) throw () |
| bool | operator<= (const BitVector &bv1, const BitVector &bv2) throw () |
| bool | operator>= (const BitVector &bv1, const BitVector &bv2) throw () |
| bool | operator< (const BitVector &bv1, const BitVector &bv2) throw () |
| bool | operator> (const BitVector &bv1, const BitVector &bv2) throw () |
| BitVector * | operator & (const BitVector &bv1, const BitVector &bv2) throw () |
| BitVector * | operator| (const BitVector &bv1, const BitVector &bv2) throw () |
| BitVector * | operator^ (const BitVector &bv1, const BitVector &bv2) throw () |
| BitVector * | operator- (const BitVector &bv1, const BitVector &bv2) throw () |
Definition at line 51 of file BitVector.H.
| BitVector::BitVector | ( | long | sizeHint = 0 |
) | throw () [inline] |
Definition at line 53 of file BitVector.H.
References Init().
Here is the call graph for this function:

| BitVector::BitVector | ( | const BitVector * | bv | ) | throw () |
Definition at line 179 of file BitVector.C.
| BitVector::BitVector | ( | RecoveryReader & | rd | ) | throw (VestaLog::Error, VestaLog::Eof) [inline] |
Definition at line 66 of file BitVector.H.
References Recover().
Here is the call graph for this function:

| BitVector::BitVector | ( | std::istream & | ifs | ) | throw (FS::EndOfFile, FS::Failure) [inline] |
Definition at line 69 of file BitVector.H.
References Read().
Here is the call graph for this function:

| BitVector::BitVector | ( | SRPC & | srpc | ) | throw (SRPC::failure) [inline] |
Definition at line 72 of file BitVector.H.
References Recv().
Here is the call graph for this function:

| BitVector::~BitVector | ( | ) | throw () [inline] |
| BitVector::BitVector | ( | long | sizeHint, | |
| bool | doZero | |||
| ) | throw () [inline, private] |
Definition at line 260 of file BitVector.H.
References Init().
Here is the call graph for this function:

| BitVector::BitVector | ( | const BitVector & | bv | ) | [private] |
| bool BitVector::IsEmpty | ( | ) | const throw () |
Definition at line 238 of file BitVector.C.
References WdCnt().
Referenced by PickleDPSSize(), VPKFile::Update(), and SPKFile::Update().
Here is the call graph for this function:

Here is the caller graph for this function:

| unsigned int BitVector::Size | ( | ) | const throw () [inline] |
Definition at line 81 of file BitVector.H.
References sz.
Referenced by CE::T::UncommonFPIsUnlazied(), and SPKFile::Update().
Here is the caller graph for this function:

| unsigned int BitVector::Cardinality | ( | ) | const throw () |
Definition at line 279 of file BitVector.C.
References WdCnt().
Referenced by WeederC::GetLeases(), main(), Weeder::MarkWork(), Print_used_cis(), PrintHitFilter(), CacheS::RecoverCILog(), CFPObj::Search(), WeederC::StartMark(), and Weeder::WriteWeeded().
Here is the call graph for this function:

Here is the caller graph for this function:

| bool BitVector::Read | ( | unsigned int | i | ) | const throw () |
Definition at line 295 of file BitVector.C.
References BitIndex(), and WdIndex().
Referenced by BitVector(), Leases::IsLeased(), PickleDPSSize(), PrintHitFilter(), and CacheS::RecoverHitFilter().
Here is the call graph for this function:

Here is the caller graph for this function:

| bool BitVector::Write | ( | unsigned int | i, | |
| bool | val | |||
| ) | throw () [inline] |
Definition at line 94 of file BitVector.H.
References Reset(), and Set().
Referenced by CacheS::ChkptUsedCIs(), CacheS::WriteHitFilter(), and Weeder::WriteWeeded().
Here is the call graph for this function:

Here is the caller graph for this function:

| bool BitVector::Set | ( | unsigned int | i | ) | throw () |
Definition at line 374 of file BitVector.C.
References BitIndex(), and WdIndex().
Referenced by VPKFile::NewEntry(), Leases::NewLease(), and Write().
Here is the call graph for this function:

Here is the caller graph for this function:

| bool BitVector::Reset | ( | unsigned int | i | ) | throw () |
Definition at line 384 of file BitVector.C.
References BitIndex(), min(), and WdIndex().
Referenced by SPKFile::Update(), and Write().
Here is the call graph for this function:

Here is the caller graph for this function:

| Word BitVector::ReadWord | ( | unsigned int | start, | |
| unsigned short | len | |||
| ) | const throw () |
Definition at line 303 of file BitVector.C.
References BitIndex(), WdCnt(), and WdIndex().
Here is the call graph for this function:

| void BitVector::WriteWord | ( | unsigned int | start, | |
| unsigned short | len, | |||
| Word | val | |||
| ) | throw () |
Definition at line 332 of file BitVector.C.
References BitIndex(), min(), and WdIndex().
Here is the call graph for this function:

| void BitVector::WriteInterval | ( | unsigned int | lo, | |
| unsigned int | hi, | |||
| bool | val | |||
| ) | throw () [inline] |
Definition at line 119 of file BitVector.H.
References ResetInterval(), and SetInterval().
Referenced by Print_used_cis(), and CacheS::RecoverCILog().
Here is the call graph for this function:

Here is the caller graph for this function:

| void BitVector::SetInterval | ( | unsigned int | lo, | |
| unsigned int | hi | |||
| ) | throw () |
Definition at line 401 of file BitVector.C.
References BitIndex(), max(), and WdIndex().
Referenced by SPKFile::Update(), and WriteInterval().
Here is the call graph for this function:

Here is the caller graph for this function:

| void BitVector::ResetInterval | ( | unsigned int | lo, | |
| unsigned int | hi | |||
| ) | throw () |
Definition at line 448 of file BitVector.C.
References BitIndex(), min(), and WdIndex().
Referenced by WriteInterval().
Here is the call graph for this function:

Here is the caller graph for this function:

| void BitVector::ResetAll | ( | bool | freeMem = false |
) | throw () |
Definition at line 493 of file BitVector.C.
References WdCnt().
Referenced by CacheS::ClearStableHitFilter(), Weeder::DeletionPhase(), Leases::Expire(), and CacheS::RecoverCILog().
Here is the call graph for this function:

Here is the caller graph for this function:

| unsigned int BitVector::NextAvailExcept | ( | BitVector * | except = (BitVector *) NULL, |
|
| bool | setIt = true | |||
| ) | throw () |
Definition at line 524 of file BitVector.C.
References max(), min(), and WdCnt().
Referenced by NextAvail().
Here is the call graph for this function:

Here is the caller graph for this function:

| unsigned int BitVector::NextAvail | ( | bool | setIt = true |
) | throw () [inline] |
Definition at line 143 of file BitVector.H.
References NextAvailExcept().
Referenced by SPKFile::Update().
Here is the call graph for this function:

Here is the caller graph for this function:

| int BitVector::MSB | ( | ) | const throw () |
Definition at line 596 of file BitVector.C.
References numWords, WdCnt(), and word.
Here is the call graph for this function:

| void BitVector::Pack | ( | const BitVector & | mask | ) | throw () |
Definition at line 621 of file BitVector.C.
References min(), and WdCnt().
Referenced by Pack().
Here is the call graph for this function:

Here is the caller graph for this function:

| void BitVector::Pack | ( | const BitVector * | mask | ) | throw () [inline] |
Definition at line 156 of file BitVector.H.
References Pack().
Here is the call graph for this function:

| void BitVector::Log | ( | VestaLog & | log | ) | const throw (VestaLog::Error) |
Definition at line 1096 of file BitVector.C.
References WdCnt().
Here is the call graph for this function:

| void BitVector::Recover | ( | RecoveryReader & | rd | ) | throw (VestaLog::Error, VestaLog::Eof) |
Definition at line 1108 of file BitVector.C.
References NEW_PTRFREE_ARRAY.
Referenced by BitVector(), Print_used_cis(), and CacheS::RecoverCILog().
Here is the caller graph for this function:

| void BitVector::Write | ( | std::ostream & | ofs | ) | const throw (FS::Failure) |
Definition at line 1124 of file BitVector.C.
References WdCnt(), and FS::Write().
Here is the call graph for this function:

| void BitVector::Read | ( | std::istream & | ifs | ) | throw (FS::EndOfFile, FS::Failure) |
Definition at line 1137 of file BitVector.C.
References NEW_PTRFREE_ARRAY, and FS::Read().
Here is the call graph for this function:

| void BitVector::Send | ( | SRPC & | srpc | ) | const throw (SRPC::failure) |
Definition at line 1153 of file BitVector.C.
References WdCnt().
Referenced by ExpCache::GetLeases(), and ExpCache::StartMark().
Here is the call graph for this function:

Here is the caller graph for this function:

| void BitVector::Recv | ( | SRPC & | srpc | ) | throw (SRPC::failure) |
Definition at line 1166 of file BitVector.C.
Referenced by BitVector().
Here is the caller graph for this function:

| void BitVector::Print | ( | std::ostream & | s, | |
| int | maxWidth = 64 | |||
| ) | const throw () |
Definition at line 1182 of file BitVector.C.
References min(), and WdCnt().
Referenced by PrintHitFilter().
Here is the call graph for this function:

Here is the caller graph for this function:

| void BitVector::PrintAll | ( | std::ostream & | s, | |
| int | indent = 0, |
|||
| int | maxWidth = 70 | |||
| ) | const throw () |
Definition at line 1233 of file BitVector.C.
References ExtendRow(), Indent(), BVIter::Next(), and Basics::OBufStream::str().
Referenced by WeederC::GetLeases(), main(), Weeder::MarkWork(), Print_used_cis(), PrintHitFilter(), WeederC::StartMark(), and Weeder::WriteWeeded().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 696 of file BitVector.C.
References WdCnt().
Here is the call graph for this function:

Definition at line 867 of file BitVector.C.
References min(), and WdCnt().
Here is the call graph for this function:

Definition at line 935 of file BitVector.C.
References max(), min(), and WdCnt().
Here is the call graph for this function:

Definition at line 1009 of file BitVector.C.
References max(), min(), and WdCnt().
Here is the call graph for this function:

Definition at line 1073 of file BitVector.C.
References min(), and WdCnt().
Here is the call graph for this function:

| void BitVector::Init | ( | long | sizeHint, | |
| bool | doZero | |||
| ) | throw () [private] |
Definition at line 164 of file BitVector.C.
References WdCnt().
Referenced by BitVector().
Here is the call graph for this function:

Here is the caller graph for this function:

| void BitVector::Extend | ( | unsigned short | wordCnt, | |
| bool | doPreserve = true | |||
| ) | throw () [private] |
Definition at line 188 of file BitVector.C.
References max(), and NEW_PTRFREE_ARRAY.
Here is the call graph for this function:

| void BitVector::ExpandSz | ( | unsigned int | i, | |
| unsigned short | wx | |||
| ) | throw () [private] |
Definition at line 214 of file BitVector.C.
References max().
Here is the call graph for this function:

| void BitVector::ReduceSz | ( | ) | throw () [private] |
Definition at line 227 of file BitVector.C.
References min(), numWords, sz, WdCnt(), and word.
Referenced by operator &(), and operator-().
Here is the call graph for this function:

Here is the caller graph for this function:

friend class BVIter [friend] |
Definition at line 225 of file BitVector.H.
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const BitVector & | fv | |||
| ) | throw () [friend] |
Definition at line 178 of file BitVector.H.
Definition at line 733 of file BitVector.C.
Definition at line 195 of file BitVector.H.
Definition at line 764 of file BitVector.C.
Definition at line 199 of file BitVector.H.
Definition at line 796 of file BitVector.C.
Definition at line 203 of file BitVector.H.
Definition at line 828 of file BitVector.C.
Definition at line 891 of file BitVector.C.
Definition at line 968 of file BitVector.C.
Definition at line 1036 of file BitVector.C.
Basics::uint16 BitVector::numWords [private] |
Definition at line 228 of file BitVector.H.
Referenced by MSB(), operator &(), operator-(), operator^(), operator|(), and ReduceSz().
Basics::uint16 BitVector::firstAvailWd [private] |
Definition at line 229 of file BitVector.H.
Referenced by operator &(), operator-(), operator^(), and operator|().
Basics::uint32 BitVector::sz [private] |
Definition at line 230 of file BitVector.H.
Referenced by operator &(), operator-(), operator^(), operator|(), ReduceSz(), and Size().
Word* BitVector::word [private] |
Definition at line 231 of file BitVector.H.
Referenced by MSB(), operator &(), operator-(), operator^(), operator|(), ReduceSz(), and ~BitVector().
1.5.1