20#include <unordered_map>
47 auto iter =
chunks.find(chunkIndex);
61 T*
get(uint64_t index)
68 auto iter =
chunks.find(chunkIndex);
90 virtual T*
create(uint64_t index) = 0;
93 std::unordered_map<uint64_t, T**>
chunks;
99template<
typename T,
typename P>
103 BlockCache(uint16_t numLayers, uint32_t maxNumBlocks, P* blockInitializer)
109 virtual T*
create(uint64_t index)
override
virtual T * create(uint64_t index) override
Definition SparseCache.h:109
uint16_t numLayers_
Definition SparseCache.h:118
virtual ~BlockCache()=default
P * blockInitializer_
Definition SparseCache.h:117
BlockCache(uint16_t numLayers, uint32_t maxNumBlocks, P *blockInitializer)
Definition SparseCache.h:103
T * tryGet(uint64_t index)
Definition SparseCache.h:41
virtual T * create(uint64_t index)=0
T * get(uint64_t index)
Definition SparseCache.h:61
T ** currChunk_
Definition SparseCache.h:95
uint64_t currChunkIndex_
Definition SparseCache.h:96
std::unordered_map< uint64_t, T ** > chunks
Definition SparseCache.h:93
SparseCache(uint64_t maxChunkSize)
Definition SparseCache.h:28
virtual ~SparseCache(void)
Definition SparseCache.h:31
uint64_t chunkSize_
Definition SparseCache.h:94
ResWindow.
Definition CompressedChunkCache.h:36