Grok 12.0.1
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
grk::SparseCache< T > Class Template Referenceabstract

#include <SparseCache.h>

Inheritance diagram for grk::SparseCache< T >:
grk::BlockCache< grk::CompressCodeblock, grk::PrecinctImpl > grk::BlockCache< grk::DecompressCodeblock, grk::PrecinctImpl > grk::BlockCache< T, P >

Public Member Functions

 SparseCache (uint64_t maxChunkSize)
 
virtual ~SparseCache (void)
 
T * tryGet (uint64_t index)
 
T * get (uint64_t index)
 

Protected Member Functions

virtual T * create (uint64_t index)=0
 

Private Attributes

std::map< uint64_t, T ** > chunks
 
uint64_t chunkSize_
 
T ** currChunk_
 
uint64_t currChunkIndex_
 

Constructor & Destructor Documentation

◆ SparseCache()

template<typename T >
grk::SparseCache< T >::SparseCache ( uint64_t maxChunkSize)
inline

◆ ~SparseCache()

template<typename T >
virtual grk::SparseCache< T >::~SparseCache ( void )
inlinevirtual

Member Function Documentation

◆ create()

template<typename T >
virtual T * grk::SparseCache< T >::create ( uint64_t index)
protectedpure virtual

◆ get()

template<typename T >
T * grk::SparseCache< T >::get ( uint64_t index)
inline

◆ tryGet()

template<typename T >
T * grk::SparseCache< T >::tryGet ( uint64_t index)
inline

Member Data Documentation

◆ chunks

template<typename T >
std::map<uint64_t, T**> grk::SparseCache< T >::chunks
private

◆ chunkSize_

template<typename T >
uint64_t grk::SparseCache< T >::chunkSize_
private

◆ currChunk_

template<typename T >
T** grk::SparseCache< T >::currChunk_
private

◆ currChunkIndex_

template<typename T >
uint64_t grk::SparseCache< T >::currChunkIndex_
private

The documentation for this class was generated from the following file: