| 994 | } |
| 995 | |
| 996 | void Load(IInputStream* inp) { |
| 997 | ui8 chunkSize = 0; |
| 998 | ::Load(inp, chunkSize); |
| 999 | Y_ABORT_UNLESS(size_t(chunkSize) == sizeof(TChunk), "Chunk size is not the same"); |
| 1000 | |
| 1001 | ui64 bitCount64 = 0; |
| 1002 | ::Load(inp, bitCount64); |
| 1003 | size_t bitCount = size_t(bitCount64); |
| 1004 | Reserve(bitCount); |
| 1005 | |
| 1006 | size_t chunkCount = 0; |
| 1007 | if (bitCount > 0) { |
| 1008 | chunkCount = ((bitCount - 1) >> DivCount) + 1; |
| 1009 | ::LoadPodArray(inp, Mask.Data, chunkCount); |
| 1010 | } |
| 1011 | |
| 1012 | if (chunkCount < Mask.GetChunkCapacity()) { |
| 1013 | ::memset(Mask.Data + chunkCount, 0, (Mask.GetChunkCapacity() - chunkCount) * sizeof(TChunk)); |
| 1014 | } |
| 1015 | Mask.Sanitize(); |
| 1016 | } |
| 1017 | |
| 1018 | inline size_t Hash() const { |
| 1019 | THash<TChunk> chunkHasher; |
nothing calls this directly
no test coverage detected