chore: initial commit (extracted from Launchers monorepo)
Plugin: ns7zip v2.0.0 Architectures: x86-ansi, x86-unicode, amd64-unicode License: LGPL-2.1-or-later
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
// UniqBlocks.h
|
||||
|
||||
#ifndef ZIP7_INC_UNIQ_BLOCKS_H
|
||||
#define ZIP7_INC_UNIQ_BLOCKS_H
|
||||
|
||||
#include "../../Common/MyBuffer.h"
|
||||
#include "../../Common/MyString.h"
|
||||
|
||||
struct C_UInt32_UString_Map
|
||||
{
|
||||
CRecordVector<UInt32> Numbers;
|
||||
UStringVector Strings;
|
||||
|
||||
void Add_UInt32(const UInt32 n)
|
||||
{
|
||||
Numbers.AddToUniqueSorted(n);
|
||||
}
|
||||
int Find(const UInt32 n)
|
||||
{
|
||||
return Numbers.FindInSorted(n);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
struct CUniqBlocks
|
||||
{
|
||||
CObjectVector<CByteBuffer> Bufs;
|
||||
CUIntVector Sorted;
|
||||
CUIntVector BufIndexToSortedIndex;
|
||||
|
||||
unsigned AddUniq(const Byte *data, size_t size);
|
||||
UInt64 GetTotalSizeInBytes() const;
|
||||
void GetReverseMap();
|
||||
|
||||
bool IsOnlyEmpty() const
|
||||
{
|
||||
return (Bufs.Size() == 0 || (Bufs.Size() == 1 && Bufs[0].Size() == 0));
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user