Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ONE::util::ResourceManager< T, Key, T * > Class Template Reference

Inheritance diagram for ONE::util::ResourceManager< T, Key, T * >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<typename T, typename Key>
class ONE::util::ResourceManager< T, Key, T * >

ResourceManager partial specialization for simple pointers

Author:
Daniel Seibert


Public Member Functions

void clear ()
 clears the cache
T * get (const Key &k)
 retrieves the object identified by k
unsigned int getCount () const
bool isCached (const Key &k) const
 checks if the object identified by k is cached
void remove (const Key &k)
 removes an object from the cache

Protected Member Functions

virtual T * create (const Key &)=0
void dispose (T *&)
virtual std::string toString (const Key &) const =0
 converts the given key to an identifier string


Member Function Documentation

void ONE::util::ResourceManagerBase< T , Key , T * >::clear  )  [inherited]
 

clears the cache

All cached resources are destroyed. Note that calling this function will invalidate any pointer to a cached resource that may be held elsewhere.

virtual T * ONE::util::ResourceManagerBase< T , Key , T * >::create const Key  )  [protected, pure virtual, inherited]
 

template<typename T, typename Key>
void ONE::util::ResourceManager< T, Key, T * >::dispose T *&   )  [inline, protected, virtual]
 

Implements ONE::util::ResourceManagerBase< T, Key, T * >.

T * ONE::util::ResourceManagerBase< T , Key , T * >::get const Key k  )  [inherited]
 

retrieves the object identified by k

If k is found in the cache, the cached object is returned. Otherwise, a new object is created through the create function, cached via insert and returned.

Parameters:
k the key identifying the desired object
Returns:
an object as specified above

unsigned int ONE::util::ResourceManagerBase< T , Key , T * >::getCount  )  const [inherited]
 

Returns:
the number of cached objects

bool ONE::util::ResourceManagerBase< T , Key , T * >::isCached const Key k  )  const [inherited]
 

checks if the object identified by k is cached

The resource will not be loaded if k is not found. Note that this function runs in O(log n) time.

Parameters:
k the desired key

void ONE::util::ResourceManagerBase< T , Key , T * >::remove const Key k  )  [inherited]
 

removes an object from the cache

The removed object is destroyed. Note that this will invalidate any pointer to the resource that may be held elsewhere. If k is unknown, this function will fail silently.

Parameters:
k a key

virtual std::string ONE::util::ResourceManagerBase< T , Key , T * >::toString const Key  )  const [protected, pure virtual, inherited]
 

converts the given key to an identifier string

The return value is stored in the resource map and must serve as a unique identifier for the key.


Generated on Wed Sep 7 19:03:33 2005 for ONEngine by  doxygen 1.4.3