LLKeyUseTracker< TKey, TData > Class Template Reference

#include <llkeyusetracker.h>

List of all members.

Public Member Functions

 LLKeyUseTracker (U32 memory_seconds, U32 max_count)
 ~LLKeyUseTracker ()
void markUse (TKey key, TData data)
void forgetKey (TKey key)
U32 getUseCount (TKey key)
U64 getTimeSinceUse (TKey key)
TData * getLastUseData (TKey key)
U32 getKeyCount ()

Private Types

typedef KeyUseTrackerNodeImpl
< TKey, TData > 
TKeyUseTrackerNode
typedef std::list
< TKeyUseTrackerNode * > 
TKeyList

Private Member Functions

void ageKeys ()
TKeyUseTrackerNodefindNode (TKey key)
TKeyUseTrackerNoderemoveNode (TKey key)

Static Private Member Functions

static U64 getTime ()

Private Attributes

TKeyList mKeyList
U64 mMemUsecs
U64 mLastExpire
U32 mMaxCount
U32 mCount


Detailed Description

template<class TKey, class TData>
class LLKeyUseTracker< TKey, TData >

Definition at line 64 of file llkeyusetracker.h.


Member Typedef Documentation

template<class TKey, class TData>
typedef KeyUseTrackerNodeImpl<TKey,TData> LLKeyUseTracker< TKey, TData >::TKeyUseTrackerNode [private]

Definition at line 66 of file llkeyusetracker.h.

template<class TKey, class TData>
typedef std::list<TKeyUseTrackerNode *> LLKeyUseTracker< TKey, TData >::TKeyList [private]

Definition at line 67 of file llkeyusetracker.h.


Constructor & Destructor Documentation

template<class TKey, class TData>
LLKeyUseTracker< TKey, TData >::LLKeyUseTracker ( U32  memory_seconds,
U32  max_count 
) [inline]

Definition at line 128 of file llkeyusetracker.h.

References LLKeyUseTracker< TKey, TData >::mMemUsecs.

template<class TKey, class TData>
LLKeyUseTracker< TKey, TData >::~LLKeyUseTracker (  )  [inline]


Member Function Documentation

template<class TKey, class TData>
static U64 LLKeyUseTracker< TKey, TData >::getTime (  )  [inline, static, private]

Definition at line 74 of file llkeyusetracker.h.

References LLFrameTimer::getTotalTime().

Referenced by LLKeyUseTracker< TKey, TData >::ageKeys(), LLKeyUseTracker< TKey, TData >::getTimeSinceUse(), and LLKeyUseTracker< TKey, TData >::markUse().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class TKey, class TData>
void LLKeyUseTracker< TKey, TData >::ageKeys (  )  [inline, private]

template<class TKey, class TData>
TKeyUseTrackerNode* LLKeyUseTracker< TKey, TData >::findNode ( TKey  key  )  [inline, private]

template<class TKey, class TData>
TKeyUseTrackerNode* LLKeyUseTracker< TKey, TData >::removeNode ( TKey  key  )  [inline, private]

Definition at line 113 of file llkeyusetracker.h.

References LLKeyUseTracker< TKey, TData >::findNode(), i, LLKeyUseTracker< TKey, TData >::mCount, LLKeyUseTracker< TKey, TData >::mKeyList, and NULL.

Referenced by LLKeyUseTracker< TKey, TData >::forgetKey(), and LLKeyUseTracker< TKey, TData >::markUse().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class TKey, class TData>
void LLKeyUseTracker< TKey, TData >::markUse ( TKey  key,
TData  data 
) [inline]

template<class TKey, class TData>
void LLKeyUseTracker< TKey, TData >::forgetKey ( TKey  key  )  [inline]

Definition at line 173 of file llkeyusetracker.h.

References LLKeyUseTracker< TKey, TData >::removeNode().

Here is the call graph for this function:

template<class TKey, class TData>
U32 LLKeyUseTracker< TKey, TData >::getUseCount ( TKey  key  )  [inline]

Definition at line 182 of file llkeyusetracker.h.

References LLKeyUseTracker< TKey, TData >::findNode(), and KeyUseTrackerNodeImpl< TKey, TData >::mUseCount.

Here is the call graph for this function:

template<class TKey, class TData>
U64 LLKeyUseTracker< TKey, TData >::getTimeSinceUse ( TKey  key  )  [inline]

template<class TKey, class TData>
TData* LLKeyUseTracker< TKey, TData >::getLastUseData ( TKey  key  )  [inline]

Definition at line 204 of file llkeyusetracker.h.

References LLKeyUseTracker< TKey, TData >::findNode(), KeyUseTrackerNodeImpl< TKey, TData >::mData, and NULL.

Here is the call graph for this function:

template<class TKey, class TData>
U32 LLKeyUseTracker< TKey, TData >::getKeyCount (  )  [inline]

Definition at line 214 of file llkeyusetracker.h.

References LLKeyUseTracker< TKey, TData >::mCount.


Member Data Documentation

template<class TKey, class TData>
TKeyList LLKeyUseTracker< TKey, TData >::mKeyList [private]

template<class TKey, class TData>
U64 LLKeyUseTracker< TKey, TData >::mMemUsecs [private]

template<class TKey, class TData>
U64 LLKeyUseTracker< TKey, TData >::mLastExpire [private]

Definition at line 70 of file llkeyusetracker.h.

Referenced by LLKeyUseTracker< TKey, TData >::ageKeys().

template<class TKey, class TData>
U32 LLKeyUseTracker< TKey, TData >::mMaxCount [private]

Definition at line 71 of file llkeyusetracker.h.

Referenced by LLKeyUseTracker< TKey, TData >::markUse().

template<class TKey, class TData>
U32 LLKeyUseTracker< TKey, TData >::mCount [private]


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

Generated on Fri May 16 08:51:14 2008 for SecondLife by  doxygen 1.5.5