| 
    SNAP Library 6.0, Developer Reference
    2020-12-09 16:24:20
    
   SNAP, a general purpose, high performance system for analysis and manipulation of large networks 
   | 
 
#include <blobbs.h>


Public Member Functions | |
| UndefCopyAssign (TBlobBs) | |
| TBlobBs () | |
| virtual | ~TBlobBs () | 
| TBlobBs (TSIn &) | |
| void | Save (TSOut &) const | 
| virtual TStr | GetVersionStr () const =0 | 
| void | PutVersionStr (const PFRnd &FBlobBs) | 
| void | AssertVersionStr (const PFRnd &FBlobBs) | 
| TStr | GetBlobBsStateStr (const TBlobBsState &BlobBsState) | 
| int | GetStateStrLen () | 
| void | PutBlobBsStateStr (const PFRnd &FBlobBs, const TBlobBsState &State) | 
| void | AssertBlobBsStateStr (const PFRnd &FBlobBs, const TBlobBsState &State) | 
| void | PutMxSegLen (const PFRnd &FBlobBs, const int &MxSegLen) | 
| int | GetMxSegLen (const PFRnd &FBlobBs) | 
| void | GenBlockLenV (TIntV &BlockLenV) | 
| void | PutBlockLenV (const PFRnd &FBlobBs, const TIntV &BlockLenV) | 
| void | GetBlockLenV (const PFRnd &FBlobBs, TIntV &BlockLenV) | 
| void | GenFFreeBlobPtV (const TIntV &BlockLenV, TBlobPtV &FFreeBlobPtV) | 
| void | PutFFreeBlobPtV (const PFRnd &FBlobBs, const TBlobPtV &FFreeBlobPtV) | 
| void | GetFFreeBlobPtV (const PFRnd &FBlobBs, TBlobPtV &FFreeBlobPtV) | 
| void | GetAllocInfo (const int &BfL, const TIntV &BlockLenV, int &MxBfL, int &FFreeBlobPtN) | 
| uint | GetBeginBlobTag () | 
| uint | GetEndBlobTag () | 
| void | PutBlobTag (const PFRnd &FBlobBs, const TBlobTag &BlobTag) | 
| void | AssertBlobTag (const PFRnd &FBlobBs, const TBlobTag &BlobTag) | 
| void | PutBlobState (const PFRnd &FBlobBs, const TBlobState &State) | 
| TBlobState | GetBlobState (const PFRnd &FBlobBs) | 
| void | AssertBlobState (const PFRnd &FBlobBs, const TBlobState &State) | 
| void | AssertBfCsEqFlCs (const TCs &BfCs, const TCs &FCs) | 
| virtual TBlobPt | PutBlob (const PSIn &SIn)=0 | 
| TBlobPt | PutBlob (const TStr &Str) | 
| virtual TBlobPt | PutBlob (const TBlobPt &BlobPt, const PSIn &SIn)=0 | 
| virtual PSIn | GetBlob (const TBlobPt &BlobPt)=0 | 
| virtual void | DelBlob (const TBlobPt &BlobPt)=0 | 
| virtual TBlobPt | GetFirstBlobPt ()=0 | 
| virtual TBlobPt | FFirstBlobPt ()=0 | 
| virtual bool | FNextBlobPt (TBlobPt &TrvBlobPt, TBlobPt &BlobPt, PSIn &BlobSIn)=0 | 
| bool | FNextBlobPt (TBlobPt &TrvBlobPt, PSIn &BlobSIn) | 
Static Public Member Functions | |
| static PBlobBs | Load (TSIn &) | 
Static Public Attributes | |
| static const int | MnBlobBfL =16 | 
| static const int | MxBlobFLen =1000000000 | 
| static const TStr | MxSegLenVNm ="MxSegLen" | 
| static const TStr | BlockLenVNm ="BlockLenV" | 
| static const TStr | FFreeBlobPtVNm ="FFreeBlobPtV" | 
Private Attributes | |
| TCRef | CRef | 
Friends | |
| class | TPt< TBlobBs > | 
      
  | 
  inline | 
Definition at line 205 of file blobbs.cpp.
References TCs::Get().
Referenced by TGBlobBs::FNextBlobPt(), and TGBlobBs::GetBlob().


| void TBlobBs::AssertBlobBsStateStr | ( | const PFRnd & | FBlobBs, | 
| const TBlobBsState & | State | ||
| ) | 
Definition at line 90 of file blobbs.cpp.
References GetBlobBsStateStr(), GetStateStrLen(), TFRnd::GetStr(), TInt::GetStr(), and TExcept::ThrowFull().
Referenced by TGBlobBs::TGBlobBs().


| void TBlobBs::AssertBlobState | ( | const PFRnd & | FBlobBs, | 
| const TBlobState & | State | ||
| ) | 
Definition at line 201 of file blobbs.cpp.
References EAssert, and TFRnd::GetCh().
Referenced by TGBlobBs::DelBlob(), TGBlobBs::GetBlob(), and TGBlobBs::PutBlob().


Definition at line 185 of file blobbs.cpp.
References btBegin, btEnd, EAssert, GetBeginBlobTag(), GetEndBlobTag(), TFRnd::GetUInt(), and TExcept::Throw().
Referenced by TGBlobBs::DelBlob(), TGBlobBs::FNextBlobPt(), TGBlobBs::GetBlob(), and TGBlobBs::PutBlob().


| void TBlobBs::AssertVersionStr | ( | const PFRnd & | FBlobBs | ) | 
Definition at line 68 of file blobbs.cpp.
References EAssert, TFRnd::GetStr(), GetVersionStr(), and TStr::Len().
Referenced by TGBlobBs::TGBlobBs().


      
  | 
  pure virtual | 
Definition at line 148 of file blobbs.h.
| void TBlobBs::GenBlockLenV | ( | TIntV & | BlockLenV | ) | 
Definition at line 114 of file blobbs.cpp.
References TVec< TVal, TSizeTy >::Add(), TVec< TVal, TSizeTy >::Clr(), EAssert, TB4Def::GetP2(), TVec< TVal, TSizeTy >::Last(), TB4Def::MxP2Exp, and TVec< TVal, TSizeTy >::Sort().
Referenced by TGBlobBs::TGBlobBs().


Definition at line 148 of file blobbs.cpp.
References TVec< TVal, TSizeTy >::Gen(), and TVec< TVal, TSizeTy >::Len().
Referenced by TGBlobBs::TGBlobBs().


| void TBlobBs::GetAllocInfo | ( | const int & | BfL, | 
| const TIntV & | BlockLenV, | ||
| int & | MxBfL, | ||
| int & | FFreeBlobPtN | ||
| ) | 
Definition at line 168 of file blobbs.cpp.
References EAssert, and TVec< TVal, TSizeTy >::Len().
Referenced by TGBlobBs::DelBlob(), and TGBlobBs::PutBlob().


      
  | 
  inline | 
Definition at line 127 of file blobbs.h.
Referenced by AssertBlobTag(), and PutBlobTag().

| TStr TBlobBs::GetBlobBsStateStr | ( | const TBlobBsState & | BlobBsState | ) | 
Definition at line 75 of file blobbs.cpp.
References bbsClosed, bbsOpened, EAssert, Fail, GetStateStrLen(), and TStr::Len().
Referenced by AssertBlobBsStateStr(), and PutBlobBsStateStr().


| TBlobState TBlobBs::GetBlobState | ( | const PFRnd & | FBlobBs | ) | 
Definition at line 197 of file blobbs.cpp.
References TFRnd::GetCh().
Referenced by TGBlobBs::FNextBlobPt().


Definition at line 138 of file blobbs.cpp.
References BlockLenVNm, EAssert, TVec< TVal, TSizeTy >::Gen(), TFRnd::GetInt(), TFRnd::GetStr(), TStr::Len(), and TVec< TVal, TSizeTy >::Len().
Referenced by TGBlobBs::TGBlobBs().


      
  | 
  inline | 
Definition at line 128 of file blobbs.h.
Referenced by AssertBlobTag(), and PutBlobTag().

Definition at line 160 of file blobbs.cpp.
References EAssert, FFreeBlobPtVNm, TVec< TVal, TSizeTy >::Gen(), TFRnd::GetInt(), TFRnd::GetStr(), TStr::Len(), TVec< TVal, TSizeTy >::Len(), and TBlobPt::Load().
Referenced by TGBlobBs::TGBlobBs().


| int TBlobBs::GetMxSegLen | ( | const PFRnd & | FBlobBs | ) | 
Definition at line 107 of file blobbs.cpp.
References EAssert, TFRnd::GetInt(), TFRnd::GetStr(), TStr::Len(), and MxSegLenVNm.
Referenced by TGBlobBs::TGBlobBs().


      
  | 
  inline | 
Definition at line 106 of file blobbs.h.
Referenced by AssertBlobBsStateStr(), and GetBlobBsStateStr().

      
  | 
  pure virtual | 
Implemented in TMBlobBs, and TGBlobBs.
Referenced by AssertVersionStr(), and PutVersionStr().

Definition at line 139 of file blobbs.h.
References TStrIn::New().

| void TBlobBs::PutBlobBsStateStr | ( | const PFRnd & | FBlobBs, | 
| const TBlobBsState & | State | ||
| ) | 
Definition at line 86 of file blobbs.cpp.
References GetBlobBsStateStr(), and TFRnd::PutStr().
Referenced by TGBlobBs::TGBlobBs(), and TGBlobBs::~TGBlobBs().


| void TBlobBs::PutBlobState | ( | const PFRnd & | FBlobBs, | 
| const TBlobState & | State | ||
| ) | 
Definition at line 193 of file blobbs.cpp.
References TFRnd::PutCh().
Referenced by TGBlobBs::DelBlob(), and TGBlobBs::PutBlob().


Definition at line 177 of file blobbs.cpp.
References btBegin, btEnd, Fail, GetBeginBlobTag(), GetEndBlobTag(), and TFRnd::PutUInt().
Referenced by TGBlobBs::PutBlob().


Definition at line 130 of file blobbs.cpp.
References BlockLenVNm, TVec< TVal, TSizeTy >::Len(), TFRnd::PutInt(), and TFRnd::PutStr().
Referenced by TGBlobBs::TGBlobBs(), and TGBlobBs::~TGBlobBs().


Definition at line 152 of file blobbs.cpp.
References FFreeBlobPtVNm, TVec< TVal, TSizeTy >::Len(), TFRnd::PutInt(), TFRnd::PutStr(), and TVec< TVal, TSizeTy >::Save().
Referenced by TGBlobBs::TGBlobBs(), and TGBlobBs::~TGBlobBs().


| void TBlobBs::PutMxSegLen | ( | const PFRnd & | FBlobBs, | 
| const int & | MxSegLen | ||
| ) | 
Definition at line 102 of file blobbs.cpp.
References MxSegLenVNm, TFRnd::PutInt(), and TFRnd::PutStr().
Referenced by TGBlobBs::TGBlobBs(), and TGBlobBs::~TGBlobBs().


| void TBlobBs::PutVersionStr | ( | const PFRnd & | FBlobBs | ) | 
Definition at line 64 of file blobbs.cpp.
References GetVersionStr(), and TFRnd::PutStr().
Referenced by TGBlobBs::TGBlobBs(), and TGBlobBs::~TGBlobBs().


      
  | 
  inline | 
| TBlobBs::UndefCopyAssign | ( | TBlobBs | ) | 
      
  | 
  static | 
Definition at line 114 of file blobbs.h.
Referenced by GetBlockLenV(), and PutBlockLenV().
      
  | 
  static | 
Definition at line 119 of file blobbs.h.
Referenced by GetFFreeBlobPtV(), and PutFFreeBlobPtV().
      
  | 
  static | 
Definition at line 92 of file blobbs.h.
Referenced by TGBlobBs::PutBlob(), TGBlobBs::TGBlobBs(), and TMBlobBs::TMBlobBs().
      
  | 
  static | 
Definition at line 110 of file blobbs.h.
Referenced by GetMxSegLen(), and PutMxSegLen().