ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
colmap::MemoryConstrainedLRUCache< key_t, value_t > Class Template Reference

#include <cache.h>

Inheritance diagram for colmap::MemoryConstrainedLRUCache< key_t, value_t >:

Public Types

using LoadFn = std::function< std::shared_ptr< value_t >(const key_t &)>
 

Public Member Functions

 MemoryConstrainedLRUCache (size_t max_num_bytes, LoadFn load_fn)
 
size_t NumBytes () const
 
size_t MaxNumBytes () const
 
void UpdateNumBytes (const key_t &key)
 
size_t NumElems () const
 
size_t MaxNumElems () const
 
bool Exists (const key_t &key) const
 
std::shared_ptr< value_t > Get (const key_t &key)
 
bool Evict (const key_t &key)
 
void Pop ()
 
void Clear ()
 

Detailed Description

template<typename key_t, typename value_t>
class colmap::MemoryConstrainedLRUCache< key_t, value_t >

Definition at line 118 of file cache.h.

Member Typedef Documentation

◆ LoadFn

template<typename key_t , typename value_t >
using colmap::MemoryConstrainedLRUCache< key_t, value_t >::LoadFn = std::function<std::shared_ptr<value_t>(const key_t&)>

Definition at line 120 of file cache.h.

Constructor & Destructor Documentation

◆ MemoryConstrainedLRUCache()

template<typename key_t , typename value_t >
colmap::MemoryConstrainedLRUCache< key_t, value_t >::MemoryConstrainedLRUCache ( size_t  max_num_bytes,
LoadFn  load_fn 
)

Definition at line 322 of file cache.h.

Member Function Documentation

◆ Clear()

template<typename key_t , typename value_t >
void colmap::MemoryConstrainedLRUCache< key_t, value_t >::Clear

Definition at line 419 of file cache.h.

Referenced by colmap::mvs::CachedWorkspace::ClearCache().

◆ Evict()

template<typename key_t , typename value_t >
bool colmap::MemoryConstrainedLRUCache< key_t, value_t >::Evict ( const key_t &  key)

Definition at line 380 of file cache.h.

◆ Exists()

template<typename key_t , typename value_t >
bool colmap::MemoryConstrainedLRUCache< key_t, value_t >::Exists ( const key_t &  key) const

Definition at line 347 of file cache.h.

◆ Get()

template<typename key_t , typename value_t >
std::shared_ptr< value_t > colmap::MemoryConstrainedLRUCache< key_t, value_t >::Get ( const key_t &  key)

◆ MaxNumBytes()

template<typename key_t , typename value_t >
size_t colmap::MemoryConstrainedLRUCache< key_t, value_t >::MaxNumBytes

Definition at line 342 of file cache.h.

◆ MaxNumElems()

template<typename key_t , typename value_t >
size_t colmap::MemoryConstrainedLRUCache< key_t, value_t >::MaxNumElems ( ) const

◆ NumBytes()

template<typename key_t , typename value_t >
size_t colmap::MemoryConstrainedLRUCache< key_t, value_t >::NumBytes

Definition at line 337 of file cache.h.

◆ NumElems()

template<typename key_t , typename value_t >
size_t colmap::MemoryConstrainedLRUCache< key_t, value_t >::NumElems

Definition at line 332 of file cache.h.

◆ Pop()

template<typename key_t , typename value_t >
void colmap::MemoryConstrainedLRUCache< key_t, value_t >::Pop

Definition at line 392 of file cache.h.

◆ UpdateNumBytes()

template<typename key_t , typename value_t >
void colmap::MemoryConstrainedLRUCache< key_t, value_t >::UpdateNumBytes ( const key_t &  key)

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