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 ()
TKeyUseTrackerNode * findNode (TKey key)
TKeyUseTrackerNode * removeNode (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