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, KEY min)
 
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)
 
 ~DepthCache ()
 

Private Types

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

Private Member Functions

DATA * find_ (KEY key)
 
void insert_ (KEY key, DATA *data)
 
void pop_oldest_ ()
 
void remove_ (KEY key)
 

Private Attributes

const std::size_t m_depth
 
utility::Mutex m_lock
 
MapType m_map
 
const KEY m_minimum
 

Detailed Description

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

Definition at line 131 of file storage.hh.

Member Typedef Documentation

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

Definition at line 177 of file storage.hh.

Constructor & Destructor Documentation

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

Definition at line 134 of file storage.hh.

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

Definition at line 138 of file storage.hh.

Member Function Documentation

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

Definition at line 156 of file storage.hh.

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

Definition at line 183 of file storage.hh.

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

Definition at line 152 of file storage.hh.

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

Definition at line 165 of file storage.hh.

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

Definition at line 192 of file storage.hh.

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

Definition at line 161 of file storage.hh.

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

Definition at line 148 of file storage.hh.

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

Definition at line 207 of file storage.hh.

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

Definition at line 174 of file storage.hh.

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

Definition at line 199 of file storage.hh.

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

Definition at line 170 of file storage.hh.

Member Data Documentation

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

Definition at line 213 of file storage.hh.

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

Definition at line 219 of file storage.hh.

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

Definition at line 218 of file storage.hh.

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

Definition at line 216 of file storage.hh.


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


multisense_lib
Author(s):
autogenerated on Sat Apr 6 2019 02:16:46