Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
crl::multisense::details::DepthCache< KEY, DATA > Class Template Reference

#include <storage.hh>

Public Member Functions

 DepthCache (std::size_t depth)
 
DATA * find (KEY key)
 
DATA * find_nolock (KEY key)
 
void insert (KEY key, DATA *data)
 
void insert_nolock (KEY key, DATA *data)
 
utility::Mutexmutex ()
 
void remove (KEY key)
 
void remove_nolock (KEY key)
 
std::pair< bool, KEY > will_drop ()
 
 ~DepthCache ()
 

Private Types

typedef std::map< KEY, DATA * > MapType
 
typedef std::deque< KEY > QueueType
 

Private Member Functions

DATA * find_ (KEY key)
 
void insert_ (KEY key, DATA *data)
 
void pop_oldest_ ()
 
void remove_ (KEY key)
 
std::pair< bool, KEY > will_drop_ ()
 

Private Attributes

const std::size_t m_depth
 
utility::Mutex m_lock
 
MapType m_map
 
QueueType m_queue
 

Detailed Description

template<class KEY, class DATA>
class crl::multisense::details::DepthCache< KEY, DATA >

Definition at line 131 of file Legacy/include/MultiSense/details/storage.hh.

Member Typedef Documentation

◆ MapType

template<class KEY , class DATA >
typedef std::map<KEY,DATA*> crl::multisense::details::DepthCache< KEY, DATA >::MapType
private

◆ QueueType

template<class KEY , class DATA >
typedef std::deque<KEY> crl::multisense::details::DepthCache< KEY, DATA >::QueueType
private

Constructor & Destructor Documentation

◆ DepthCache()

template<class KEY , class DATA >
crl::multisense::details::DepthCache< KEY, DATA >::DepthCache ( std::size_t  depth)
inline

◆ ~DepthCache()

template<class KEY , class DATA >
crl::multisense::details::DepthCache< KEY, DATA >::~DepthCache ( )
inline

Member Function Documentation

◆ find()

template<class KEY , class DATA >
DATA* crl::multisense::details::DepthCache< KEY, DATA >::find ( KEY  key)
inline

◆ find_()

template<class KEY , class DATA >
DATA* crl::multisense::details::DepthCache< KEY, DATA >::find_ ( KEY  key)
inlineprivate

◆ find_nolock()

template<class KEY , class DATA >
DATA* crl::multisense::details::DepthCache< KEY, DATA >::find_nolock ( KEY  key)
inline

◆ insert()

template<class KEY , class DATA >
void crl::multisense::details::DepthCache< KEY, DATA >::insert ( KEY  key,
DATA *  data 
)
inline

◆ insert_()

template<class KEY , class DATA >
void crl::multisense::details::DepthCache< KEY, DATA >::insert_ ( KEY  key,
DATA *  data 
)
inlineprivate

◆ insert_nolock()

template<class KEY , class DATA >
void crl::multisense::details::DepthCache< KEY, DATA >::insert_nolock ( KEY  key,
DATA *  data 
)
inline

◆ mutex()

template<class KEY , class DATA >
utility::Mutex& crl::multisense::details::DepthCache< KEY, DATA >::mutex ( )
inline

◆ pop_oldest_()

template<class KEY , class DATA >
void crl::multisense::details::DepthCache< KEY, DATA >::pop_oldest_ ( )
inlineprivate

◆ remove()

template<class KEY , class DATA >
void crl::multisense::details::DepthCache< KEY, DATA >::remove ( KEY  key)
inline

◆ remove_()

template<class KEY , class DATA >
void crl::multisense::details::DepthCache< KEY, DATA >::remove_ ( KEY  key)
inlineprivate

◆ remove_nolock()

template<class KEY , class DATA >
void crl::multisense::details::DepthCache< KEY, DATA >::remove_nolock ( KEY  key)
inline

◆ will_drop()

template<class KEY , class DATA >
std::pair<bool, KEY> crl::multisense::details::DepthCache< KEY, DATA >::will_drop ( )
inline

◆ will_drop_()

template<class KEY , class DATA >
std::pair<bool, KEY> crl::multisense::details::DepthCache< KEY, DATA >::will_drop_ ( )
inlineprivate

Member Data Documentation

◆ m_depth

template<class KEY , class DATA >
const std::size_t crl::multisense::details::DepthCache< KEY, DATA >::m_depth
private

◆ m_lock

template<class KEY , class DATA >
utility::Mutex crl::multisense::details::DepthCache< KEY, DATA >::m_lock
private

◆ m_map

template<class KEY , class DATA >
MapType crl::multisense::details::DepthCache< KEY, DATA >::m_map
private

◆ m_queue

template<class KEY , class DATA >
QueueType crl::multisense::details::DepthCache< KEY, DATA >::m_queue
private

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


multisense_lib
Author(s):
autogenerated on Thu Apr 17 2025 02:49:09