asset::DB Class Reference

#include <db.hpp>

Inheritance diagram for asset::DB:

Inheritance graph
[legend]
Collaboration diagram for asset::DB:

Collaboration graph
[legend]

List of all members.


Detailed Description

Implementation of the registry holding all Asset instances known to the Asset Manager subsystem.

As of 8/2007 implemented by a hashtable.

Definition at line 91 of file db.hpp.


Public Member Functions

void asList (list< PcAsset > &output) const
 intended for diagnostics
void clear () throw ()
 removes all registered assets and does something similar to Asset::unlink() on each to break cyclic dependencies (we can't use the real unlink()-function, because this will propagate, including calls to the AssetManager.
bool del (ID< Asset > hash)
template<class KIND>
P< KIND > get (ID< KIND > hash) const
void put (ID< Asset > hash, PAsset &ptr)
template<class KIND>
void put (ID< KIND > hash, P< KIND > &ptr)

Private Member Functions

const PAssetfind (size_t hash) const

Private Attributes

IdHashtable table

Friends

class lib::singleton::StaticCreate< DB >

Member Function Documentation

void asset::DB::asList ( list< PcAsset > &  output  )  const [inline]

intended for diagnostics

Definition at line 150 of file db.hpp.

Referenced by asset::AssetManager::listContent().

Here is the caller graph for this function:

void asset::DB::clear (  )  throw () [inline]

removes all registered assets and does something similar to Asset::unlink() on each to break cyclic dependencies (we can't use the real unlink()-function, because this will propagate, including calls to the AssetManager.

As the destructor of DB needs to call clear(), this could result in segfaults. This doesn't seem to be a problem, though, because we register and process all assets and the net effect is just breaking any cyclic dependencies)

Definition at line 127 of file db.hpp.

References lumiera::Error::what().

Here is the call graph for this function:


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

Generated on Sun Aug 1 21:32:08 2010 for Lumiera by  doxygen 1.5.6