NCBI C++ ToolKit
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
CLoadInfoMap< Key, Info > Class Template Reference

Search Toolkit Book for CLoadInfoMap

#include <objtools/data_loaders/genbank/impl/gbload_util.hpp>

+ Collaboration diagram for CLoadInfoMap< Key, Info >:

Public Types

enum  { kDefaultMaxSize = 2048 }
 

Public Member Functions

 CLoadInfoMap (size_t max_size=0)
 
size_t GetMaxSize (void) const
 
void SetMaxSize (size_t max_size)
 
CRef< InfoGet (const Key &key)
 
void GC (void)
 
void Clear (void)
 

Protected Types

typedef CFastMutex TLock
 
typedef TLock::TReadLockGuard TReadLockGuard
 
typedef TLock::TWriteLockGuard TWriteLockGuard
 

Protected Member Functions

void x_GC (void)
 

Protected Attributes

TLock m_Lock
 

Private Types

typedef pair< Key, CRef< Info > > TQueueValue
 
typedef list< TQueueValueTQueue
 
typedef TQueue::iterator TQueueIter
 
typedef map< Key, TQueueIterTIndex
 
typedef TIndex::value_type TIndexValue
 
typedef TIndex::iterator TIndexIter
 

Private Member Functions

 CLoadInfoMap (const CLoadInfoMap< Key, Info > &)
 
void operator= (const CLoadInfoMap< Key, Info > &)
 

Private Attributes

size_t m_MaxSize
 
TQueue m_Queue
 
TIndex m_Index
 

Detailed Description

template<class Key, class Info>
class CLoadInfoMap< Key, Info >

Definition at line 226 of file gbload_util.hpp.

Member Typedef Documentation

template<class Key , class Info >
typedef map<Key, TQueueIter> CLoadInfoMap< Key, Info >::TIndex
private

Definition at line 344 of file gbload_util.hpp.

template<class Key , class Info >
typedef TIndex::iterator CLoadInfoMap< Key, Info >::TIndexIter
private

Definition at line 346 of file gbload_util.hpp.

template<class Key , class Info >
typedef TIndex::value_type CLoadInfoMap< Key, Info >::TIndexValue
private

Definition at line 345 of file gbload_util.hpp.

template<class Key , class Info >
typedef CFastMutex CLoadInfoMap< Key, Info >::TLock
protected

Definition at line 323 of file gbload_util.hpp.

template<class Key , class Info >
typedef list<TQueueValue> CLoadInfoMap< Key, Info >::TQueue
private

Definition at line 342 of file gbload_util.hpp.

template<class Key , class Info >
typedef TQueue::iterator CLoadInfoMap< Key, Info >::TQueueIter
private

Definition at line 343 of file gbload_util.hpp.

template<class Key , class Info >
typedef pair<Key, CRef<Info> > CLoadInfoMap< Key, Info >::TQueueValue
private

Definition at line 341 of file gbload_util.hpp.

template<class Key , class Info >
typedef TLock::TReadLockGuard CLoadInfoMap< Key, Info >::TReadLockGuard
protected

Definition at line 324 of file gbload_util.hpp.

template<class Key , class Info >
typedef TLock::TWriteLockGuard CLoadInfoMap< Key, Info >::TWriteLockGuard
protected

Definition at line 325 of file gbload_util.hpp.

Member Enumeration Documentation

template<class Key , class Info >
anonymous enum
Enumerator
kDefaultMaxSize 

Definition at line 229 of file gbload_util.hpp.

Constructor & Destructor Documentation

template<class Key , class Info >
CLoadInfoMap< Key, Info >::CLoadInfoMap ( size_t  max_size = 0)
inline

Definition at line 233 of file gbload_util.hpp.

template<class Key , class Info >
CLoadInfoMap< Key, Info >::CLoadInfoMap ( const CLoadInfoMap< Key, Info > &  )
private

Member Function Documentation

template<class Key , class Info >
void CLoadInfoMap< Key, Info >::Clear ( void  )
inline
template<class Key , class Info >
void CLoadInfoMap< Key, Info >::GC ( void  )
inline
template<class Key , class Info >
CRef<Info> CLoadInfoMap< Key, Info >::Get ( const Key &  key)
inline
template<class Key , class Info >
size_t CLoadInfoMap< Key, Info >::GetMaxSize ( void  ) const
inline

Definition at line 238 of file gbload_util.hpp.

References CLoadInfoMap< Key, Info >::m_MaxSize.

template<class Key , class Info >
void CLoadInfoMap< Key, Info >::operator= ( const CLoadInfoMap< Key, Info > &  )
private
template<class Key , class Info >
void CLoadInfoMap< Key, Info >::SetMaxSize ( size_t  max_size)
inline
template<class Key , class Info >
void CLoadInfoMap< Key, Info >::x_GC ( void  )
inlineprotected

Member Data Documentation

template<class Key , class Info >
TIndex CLoadInfoMap< Key, Info >::m_Index
private
template<class Key , class Info >
TLock CLoadInfoMap< Key, Info >::m_Lock
protected
template<class Key , class Info >
size_t CLoadInfoMap< Key, Info >::m_MaxSize
private
template<class Key , class Info >
TQueue CLoadInfoMap< Key, Info >::m_Queue
private

The documentation for this class was generated from the following file:
Modified on Thu Feb 22 13:22:58 2018 by modify_doxy.py rev. 546573