|
SNAP Library, Developer Reference
2012-10-02 12:56:23
SNAP, a general purpose network analysis and graph mining library
|
#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().