SNAP Library , Developer Reference
2013-01-07 14:03:36
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
|
#include <shash.h>
Public Member Functions | |
TKeyDatFl (const TStr &FNm) | |
int | Len () const |
bool | Next () |
const TKey & | GetKey () const |
TKey & | GetKey () |
const TDat & | GetDat () const |
TDat & | GetDat () |
Static Public Member Functions | |
static void | Save (const TStr &OutFNm, const THash< TKey, TDat, THashFunc > &Hash) |
static void | Save (TSOut &SOut, const THash< TKey, TDat, THashFunc > &Hash) |
static void | LoadHash (const TStr &InFNm, THash< TKey, TDat, THashFunc > &Hash, const int &LoadN=-1) |
static void | LoadHash (TSIn &SIn, THash< TKey, TDat, THashFunc > &Hash, int LoadN=-1) |
static void | LoadKeyV (TSIn &SIn, TVec< TKey > &KeyV, int LoadN=-1) |
static void | LoadDatV (TSIn &SIn, TVec< TDat > &DatV, int LoadN=-1) |
Private Attributes | |
TInt | ElemCnt |
TFIn | FIn |
TKey | Key |
TDat | Dat |
TKeyDatFl< TKey, TDat, THashFunc >::TKeyDatFl | ( | const TStr & | FNm | ) | [inline] |
Definition at line 17 of file shash.h.
References TKeyDatFl< TKey, TDat, THashFunc >::ElemCnt, TKeyDatFl< TKey, TDat, THashFunc >::FIn, and TInt::Load().
const TDat& TKeyDatFl< TKey, TDat, THashFunc >::GetDat | ( | ) | const [inline] |
Definition at line 23 of file shash.h.
References TKeyDatFl< TKey, TDat, THashFunc >::Dat.
{ return Dat; }
TDat& TKeyDatFl< TKey, TDat, THashFunc >::GetDat | ( | ) | [inline] |
Definition at line 24 of file shash.h.
References TKeyDatFl< TKey, TDat, THashFunc >::Dat.
{ return Dat; }
const TKey& TKeyDatFl< TKey, TDat, THashFunc >::GetKey | ( | ) | const [inline] |
Definition at line 21 of file shash.h.
References TKeyDatFl< TKey, TDat, THashFunc >::Key.
{ return Key; }
TKey& TKeyDatFl< TKey, TDat, THashFunc >::GetKey | ( | ) | [inline] |
Definition at line 22 of file shash.h.
References TKeyDatFl< TKey, TDat, THashFunc >::Key.
{ return Key; }
int TKeyDatFl< TKey, TDat, THashFunc >::Len | ( | ) | const [inline] |
Definition at line 18 of file shash.h.
References TKeyDatFl< TKey, TDat, THashFunc >::ElemCnt.
{ return ElemCnt; }
static void TKeyDatFl< TKey, TDat, THashFunc >::LoadDatV | ( | TSIn & | SIn, |
TVec< TDat > & | DatV, | ||
int | LoadN = -1 |
||
) | [inline, static] |
Definition at line 49 of file shash.h.
References TVec< TVal >::Add(), TStr::CStr(), TKeyDatFl< TKey, TDat, THashFunc >::ElemCnt, TVec< TVal >::Gen(), and TSBase::GetSNm().
{ TInt ElemCnt(SIn); const int Start=clock(); if (ElemCnt < LoadN || LoadN == -1) { LoadN = ElemCnt; } printf("Loading %s: %d elements ... ", SIn.GetSNm().CStr(), LoadN); DatV.Gen(LoadN, 0); for (int i = 0; i < LoadN; i++) { TKey(SIn); DatV.Add(TDat(SIn)); } printf(" [%ds]\n", int((clock()-Start)/CLOCKS_PER_SEC)); }
static void TKeyDatFl< TKey, TDat, THashFunc >::LoadHash | ( | TSIn & | SIn, |
THash< TKey, TDat, THashFunc > & | Hash, | ||
int | LoadN = -1 |
||
) | [inline, static] |
Definition at line 35 of file shash.h.
References THash< TKey, TDat, THashFunc >::AddDat(), TStr::CStr(), TKeyDatFl< TKey, TDat, THashFunc >::ElemCnt, THash< TKey, TDat, THashFunc >::Gen(), and TSBase::GetSNm().
{ TInt ElemCnt(SIn); const int Start=clock(); if (ElemCnt < LoadN || LoadN == -1) { LoadN = ElemCnt; } printf("Loading %s: %d elements ... ", SIn.GetSNm().CStr(), LoadN); Hash.Gen(LoadN); for (int i = 0; i < LoadN; i++) { Hash.AddDat(TKey(SIn)).Load(SIn); } printf(" [%ds]\n", int((clock()-Start)/CLOCKS_PER_SEC)); }
static void TKeyDatFl< TKey, TDat, THashFunc >::LoadKeyV | ( | TSIn & | SIn, |
TVec< TKey > & | KeyV, | ||
int | LoadN = -1 |
||
) | [inline, static] |
Definition at line 42 of file shash.h.
References TVec< TVal >::Add(), TStr::CStr(), TKeyDatFl< TKey, TDat, THashFunc >::ElemCnt, TVec< TVal >::Gen(), and TSBase::GetSNm().
{ TInt ElemCnt(SIn); const int Start=clock(); if (ElemCnt < LoadN || LoadN == -1) { LoadN = ElemCnt; } printf("Loading %s: %d elements ... ", SIn.GetSNm().CStr(), LoadN); KeyV.Gen(LoadN, 0); for (int i = 0; i < LoadN; i++) { KeyV.Add(TKey(SIn)); TDat D(SIn); } printf(" [%ds]\n", int((clock()-Start)/CLOCKS_PER_SEC)); }
bool TKeyDatFl< TKey, TDat, THashFunc >::Next | ( | ) | [inline] |
Definition at line 19 of file shash.h.
References TKeyDatFl< TKey, TDat, THashFunc >::Dat, TFIn::Eof(), TKeyDatFl< TKey, TDat, THashFunc >::FIn, and TKeyDatFl< TKey, TDat, THashFunc >::Key.
static void TKeyDatFl< TKey, TDat, THashFunc >::Save | ( | TSOut & | SOut, |
const THash< TKey, TDat, THashFunc > & | Hash | ||
) | [inline, static] |
Definition at line 28 of file shash.h.
References THash< TKey, TDat, THashFunc >::FFirstKeyId(), THash< TKey, TDat, THashFunc >::FNextKeyId(), THash< TKey, TDat, THashFunc >::GetKey(), THash< TKey, TDat, THashFunc >::Len(), THash< TKey, TDat, THashFunc >::Save(), and TSOut::Save().
{ SOut.Save(Hash.Len()); for (int k = Hash.FFirstKeyId(); Hash.FNextKeyId(k); ) { Hash.GetKey(k).Save(SOut); Hash[k].Save(SOut); } }
TDat TKeyDatFl< TKey, TDat, THashFunc >::Dat [private] |
Definition at line 15 of file shash.h.
Referenced by TKeyDatFl< TKey, TDat, THashFunc >::GetDat(), and TKeyDatFl< TKey, TDat, THashFunc >::Next().
TFIn TKeyDatFl< TKey, TDat, THashFunc >::FIn [private] |
Definition at line 13 of file shash.h.
Referenced by TKeyDatFl< TKey, TDat, THashFunc >::LoadHash(), TKeyDatFl< TKey, TDat, THashFunc >::Next(), and TKeyDatFl< TKey, TDat, THashFunc >::TKeyDatFl().
TKey TKeyDatFl< TKey, TDat, THashFunc >::Key [private] |
Definition at line 14 of file shash.h.
Referenced by TKeyDatFl< TKey, TDat, THashFunc >::GetKey(), and TKeyDatFl< TKey, TDat, THashFunc >::Next().