//--------------------------------------------------------------------------- static const UINT64 Table_Start = 0x100; static const UINT64 Record_Size = 16; //--------------------------------------------------------------------------- vector Conflicts_File::Get_All(UINT64 ID) { vector v; // for (;;) { UINT64 Data; UINT64 Next; Get(ID, Data, Next); if (Next == 0) break; // v.push_back(Data); // ID = Next; if (ID == UINT64_MAX) break; } // std::reverse(v.begin(), v.end()); // return v; } //--------------------------------------------------------------------------- UINT64 Conflicts_File::Get_Last(UINT64 ID) { UINT64 Data; UINT64 Next; Get(ID, Data, Next); // if (Next == 0) return UINT64_MAX; else return Data; } //--------------------------------------------------------------------------- void Conflicts_File::Get(UINT64 ID, UINT64 &Data, UINT64 &Next) { UCHAR buf[16]; // File->Pos(Table_Start + Record_Size * ID); File->Read(buf, 16); // memcpy(&Data, buf + 0, 8); memcpy(&Next, buf + 8, 8); } //---------------------------------------------------------------------------