27 lines
521 B
C
27 lines
521 B
C
|
// UniqBlocks.h
|
||
|
|
||
|
#ifndef __UNIQ_BLOCKS_H
|
||
|
#define __UNIQ_BLOCKS_H
|
||
|
|
||
|
#include "../../Common/MyTypes.h"
|
||
|
#include "../../Common/MyBuffer.h"
|
||
|
#include "../../Common/MyVector.h"
|
||
|
|
||
|
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
|