Castor3D 0.16.0
Multiplatform 3D engine
|
Classe de base pour un cache d'éléments. Plus de détails...
#include <ResourceCacheBase.hpp>
Types publics | |
using | ElementT = ResT |
using | ElementKeyT = KeyT |
using | ElementCacheTraitsT = TraitsT |
using | ElementCacheBaseT = ResourceCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT > |
using | ElementCacheT = typename ElementCacheTraitsT::ElementCacheT |
using | ElementPtrT = typename ElementCacheTraitsT::ElementPtrT |
using | ElementObsT = typename ElementCacheTraitsT::ElementObsT |
using | ElementContT = typename ElementCacheTraitsT::ElementContT |
using | ElementInitialiserT = typename ElementCacheTraitsT::ElementInitialiserT |
using | ElementCleanerT = typename ElementCacheTraitsT::ElementCleanerT |
using | ElementMergerT = typename ElementCacheTraitsT::ElementMergerT |
Fonctions membres publiques | |
ResourceCacheBaseT (ResourceCacheBaseT const &)=delete | |
ResourceCacheBaseT & | operator= (ResourceCacheBaseT const &)=delete |
ResourceCacheBaseT (ResourceCacheBaseT &&) noexcept=delete | |
ResourceCacheBaseT & | operator= (ResourceCacheBaseT &&) noexcept=delete |
void | cleanup () noexcept |
Met tous les éléments à nettoyer. | |
void | clear () noexcept |
Vide la collection. | |
template<typename ... ParametersT> | |
ElementPtrT | create (ElementKeyT const &name, ParametersT &&... parameters) const |
Crée un élément. | |
ElementObsT | tryAdd (ElementKeyT const &name, ElementPtrT &element, bool initialise=false) |
Ajoute un élément. | |
ElementObsT | tryAddNoLock (ElementKeyT const &name, ElementPtrT &element, bool initialise=false) |
Ajoute un élément. | |
ElementObsT | add (ElementKeyT const &name, ElementPtrT &element, bool initialise=true) |
Version journalisante de tryAdd. | |
ElementObsT | addNoLock (ElementKeyT const &name, ElementPtrT &element, bool initialise=true) |
Version journalisante de tryAdd. | |
template<typename ... ParametersT> | |
ElementObsT | tryAdd (ElementKeyT const &name, bool initialise, ElementObsT &created, ParametersT &&... parameters) |
Ajoute un élément, construict sur place. | |
template<typename ... ParametersT> | |
ElementObsT | tryAddNoLock (ElementKeyT const &name, bool initialise, ElementObsT &created, ParametersT &&... parameters) |
Ajoute un élément, construict sur place. | |
template<typename ... ParametersT> | |
ElementObsT | add (ElementKeyT const &name, ParametersT &&... parameters) |
Version journalisante de tryAdd. | |
template<typename ... ParametersT> | |
ElementObsT | addNoLock (ElementKeyT const &name, ParametersT &&... parameters) |
Version journalisante de tryAdd. | |
ElementPtrT | tryRemove (ElementKeyT const &name, bool cleanup=false) noexcept |
Retire un élément à partir d'un nom. | |
ElementPtrT | tryRemoveNoLock (ElementKeyT const &name, bool cleanup=false) noexcept |
Retire un élément à partir d'un nom. | |
ElementPtrT | remove (ElementKeyT const &name, bool cleanup=false) noexcept |
Version journalisante de tryAdd. | |
ElementPtrT | removeNoLock (ElementKeyT const &name, bool cleanup=false) noexcept |
Version journalisante de tryAdd. | |
void | rename (ElementKeyT const &oldName, ElementKeyT const &newName) |
Renomme une ressource. | |
ElementObsT | tryFind (ElementKeyT const &name) const noexcept |
Cherche un élément par son nom. | |
ElementObsT | tryFindNoLock (ElementKeyT const &name) const noexcept |
Cherche un élément par son nom. | |
ElementObsT | find (ElementKeyT const &name) const |
Version journalisante de tryAdd. | |
ElementObsT | findNoLock (ElementKeyT const &name) const |
Version journalisante de tryAdd. | |
void | mergeInto (ElementCacheBaseT &destination) |
Met les éléments de ce cache dans ceux de celui donné. | |
Boucle verrouillée. | |
template<typename FuncType > | |
void | forEach (FuncType func) const |
template<typename FuncType > | |
void | forEach (FuncType func) |
Accesseurs. | |
uint32_t | getObjectCount () const noexcept |
uint32_t | getObjectCountNoLock () const noexcept |
String const & | getObjectTypeName () const noexcept |
bool | has (ElementKeyT const &name) const noexcept |
bool | hasNoLock (ElementKeyT const &name) const noexcept |
bool | isEmpty () const noexcept |
bool | isEmptyNoLock () const noexcept |
Verrouillage de mutex. | |
void | lock () const |
void | unlock () const noexcept |
Itération. | |
auto | begin () noexcept |
auto | begin () const noexcept |
auto | end () noexcept |
auto | end () const noexcept |
Logging. | |
void | reportCreation (String const &name) const |
void | reportAdded (String const &name) const |
void | reportDuplicate (String const &name) const |
void | reportNull () const |
void | reportUnknown (String const &name) const |
Types protégés | |
using | MutexT = castor::RecursiveMutex |
Fonctions membres protégées | |
void | doCleanupNoLock () const noexcept |
void | doClearNoLock () noexcept |
template<typename ... ParametersT> | |
ElementPtrT | doCreateT (ElementKeyT const &name, ParametersT &&... parameters) const |
ElementObsT | doTryAddNoLock (ElementKeyT const &name, ElementPtrT &element, bool initialise=true) |
ElementObsT | doAddNoLock (ElementKeyT const &name, ElementPtrT &element, bool initialise=true) |
template<typename ... ParametersT> | |
ElementObsT | doTryAddNoLockT (ElementKeyT const &name, bool initialise, ElementObsT &created, ParametersT &&... parameters) |
template<typename ... ParametersT> | |
ElementObsT | doAddNoLockT (ElementKeyT const &name, ParametersT &&... parameters) |
ElementPtrT | doTryRemoveNoLock (ElementKeyT const &name, bool cleanup=false) noexcept |
ElementObsT | doTryFindNoLock (ElementKeyT const &name) const noexcept |
ResourceCacheBaseT (LoggerInstance &logger, ElementInitialiserT initialise=ElementInitialiserT{}, ElementCleanerT clean=ElementCleanerT{}, ElementMergerT merge=ElementMergerT{}) | |
virtual | ~ResourceCacheBaseT () noexcept=default |
Attributs protégés | |
LoggerInstance & | m_logger |
CheckedMutexT< MutexT > | m_mutex |
ElementContT | m_resources |
ElementInitialiserT | m_initialise |
ElementCleanerT | m_clean |
ElementMergerT | m_merge |
Classe de base pour un cache d'éléments.
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementCacheBaseT = ResourceCacheBaseT< ElementT, ElementKeyT, ElementCacheTraitsT > |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementCacheT = typename ElementCacheTraitsT::ElementCacheT |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementCacheTraitsT = TraitsT |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementCleanerT = typename ElementCacheTraitsT::ElementCleanerT |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementContT = typename ElementCacheTraitsT::ElementContT |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementInitialiserT = typename ElementCacheTraitsT::ElementInitialiserT |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementKeyT = KeyT |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementMergerT = typename ElementCacheTraitsT::ElementMergerT |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementObsT = typename ElementCacheTraitsT::ElementObsT |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementPtrT = typename ElementCacheTraitsT::ElementPtrT |
using castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::ElementT = ResT |
|
protected |
|
delete |
|
deletenoexcept |
|
inlineexplicitprotected |
name Construction/Desctruction.
|
protectedvirtualdefaultnoexcept |
|
inline |
Version journalisante de tryAdd.
[in] | name | Le nom de la ressource. |
[in,out] | element | La ressource, vidée en cas d'ajout (le cache en prend la responsabilité). |
[in] | initialise | true pour initialiser l'élément ajouté (aucun effect sur les doublons). |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
Référencé par castor3d::Engine::addFont(), castor3d::Engine::addImage(), castor3d::Engine::addNewFont(), et castor3d::Engine::addNewImage().
|
inline |
Version journalisante de tryAdd.
[in] | name | Le nom d'élément. |
[in] | parameters | Les autres paramètres de construction. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLockT(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
|
inline |
Version journalisante de tryAdd.
[in] | name | Le nom de la ressource. |
[in,out] | element | La ressource, vidée en cas d'ajout (le cache en prend la responsabilité). |
[in] | initialise | true pour initialiser l'élément ajouté (aucun effect sur les doublons). |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLock().
|
inline |
Version journalisante de tryAdd.
[in] | name | Le nom d'élément. |
[in] | parameters | Les autres paramètres de construction. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLockT().
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Met tous les éléments à nettoyer.
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doCleanupNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryRemoveNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::remove(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::removeNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryRemove(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryRemoveNoLock().
|
inlinenoexcept |
Vide la collection.
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doClearNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
|
inline |
Crée un élément.
[in] | name | Le nom d'élément. |
[in] | parameters | Les autres paramètres de construction. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doCreateT(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportCreation().
Référencé par castor3d::Engine::createFont(), et castor3d::Engine::createImage().
|
inlineprotected |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportAdded(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportDuplicate(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportNull().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::add(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::addNoLock().
|
inlineprotected |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLockT(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportCreation(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportDuplicate().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::add(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::addNoLock().
|
inlineprotectednoexcept |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_clean, et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_resources.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::cleanup().
|
inlineprotectednoexcept |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_resources.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::clear(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::mergeInto().
|
inlineprotected |
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::create(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLockT().
|
inlineprotected |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_initialise, et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_resources.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryAdd(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryAddNoLock().
|
inlineprotected |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doCreateT(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_initialise, et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_resources.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLockT(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryAdd(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryAddNoLock().
|
inlineprotectednoexcept |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_resources.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::find(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::findNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryFind(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryFindNoLock().
|
inlineprotectednoexcept |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::cleanup(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_clean, et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_resources.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::remove(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::removeNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryRemove(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryRemoveNoLock().
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
Version journalisante de tryAdd.
[in] | name | Le nom d'élément. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryFindNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), castor::makeUniqueLock(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportUnknown().
Référencé par castor3d::Engine::findFont(), et castor3d::Engine::findImage().
|
inline |
Version journalisante de tryAdd.
[in] | name | Le nom d'élément. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryFindNoLock(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportUnknown().
|
inline |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
|
inline |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
|
inlinenoexcept |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_resources, et castor::makeUniqueLock().
|
inlinenoexcept |
|
inlinenoexcept |
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportAdded(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportCreation(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportDuplicate(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportNull(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportUnknown().
|
inlinenoexcept |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryFind().
Référencé par castor3d::Engine::hasFont(), et castor3d::Engine::hasImage().
|
inlinenoexcept |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryFindNoLock().
|
inlinenoexcept |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_resources, et castor::makeUniqueLock().
|
inlinenoexcept |
|
inline |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_mutex.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::add(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::add(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::cleanup(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::clear(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::find(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::forEach(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::forEach(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::getObjectCount(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::isEmpty(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::mergeInto(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::remove(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::rename(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryAdd(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryAdd(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryFind(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::tryRemove().
|
inline |
Met les éléments de ce cache dans ceux de celui donné.
[out] | destination | Le cache de destination. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doClearNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_merge, et castor::makeUniqueLock().
|
deletenoexcept |
|
delete |
|
inlinenoexcept |
Version journalisante de tryAdd.
[in] | name | Le nom d'élément. |
[in] | cleanup | true si l'évènement doit être nettoyé. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::cleanup(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryRemoveNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), castor::makeUniqueLock(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportUnknown().
Référencé par castor3d::Engine::removeFont(), et castor3d::Engine::removeImage().
|
inlinenoexcept |
Version journalisante de tryAdd.
[in] | name | Le nom d'élément. |
[in] | cleanup | true si l'évènement doit être nettoyé. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::cleanup(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryRemoveNoLock(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportUnknown().
|
inline |
Renomme une ressource.
[in] | oldName | Le nom actuel de l'élément. |
[in] | newName | Le nouveau nom de l'élément. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_resources, castor::makeUniqueLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportDuplicate(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportUnknown().
|
inline |
Références cuT, castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::getObjectTypeName(), castor::LoggerInstance::logTrace(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_logger, et castor::makeStringStream().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLock().
|
inline |
Références cuT, castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::getObjectTypeName(), castor::LoggerInstance::logTrace(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_logger, et castor::makeStringStream().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::create(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLockT().
|
inline |
Références cuT, castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::getObjectTypeName(), castor::LoggerInstance::logWarning(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_logger, et castor::makeStringStream().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLockT(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::rename().
|
inline |
Références cuT, castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::getObjectTypeName(), castor::LoggerInstance::logWarning(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_logger, et castor::makeStringStream().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doAddNoLock().
|
inline |
Références cuT, castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::getObjectTypeName(), castor::LoggerInstance::logWarning(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::m_logger, et castor::makeStringStream().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::find(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::findNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::remove(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::removeNoLock(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::rename().
|
inline |
Ajoute un élément, construict sur place.
[in] | name | Le nom d'élément. |
[in] | initialise | true pour initialiser l'élément ajouté (aucun effect sur les doublons). |
[out] | created | L'élément créé. |
[in] | parameters | Les autres paramètres de construction. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLockT(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
|
inline |
Ajoute un élément.
[in] | name | Le nom d'élément. |
[in,out] | element | La ressource, vidée en cas d'ajout (le cache en prend la responsabilité). |
[in] | initialise | true pour initialiser l'élément ajouté (aucun effect sur les doublons). |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
Référencé par castor3d::Engine::tryAddImage().
|
inline |
Ajoute un élément, construict sur place.
[in] | name | Le nom d'élément. |
[in] | initialise | true pour initialiser l'élément ajouté (aucun effect sur les doublons). |
[out] | created | L'élément créé. |
[in] | parameters | Les autres paramètres de construction. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLockT().
|
inline |
Ajoute un élément.
[in] | name | Le nom d'élément. |
[in,out] | element | La ressource, vidée en cas d'ajout (le cache en prend la responsabilité). |
[in] | initialise | true pour initialiser l'élément ajouté (aucun effect sur les doublons). |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLock().
|
inlinenoexcept |
Cherche un élément par son nom.
[in] | name | Le nom d'élément. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryFindNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::has(), castor3d::Engine::tryFindFont(), et castor3d::Engine::tryFindImage().
|
inlinenoexcept |
Cherche un élément par son nom.
[in] | name | Le nom d'élément. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryFindNoLock().
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::hasNoLock().
|
inlinenoexcept |
Retire un élément à partir d'un nom.
[in] | name | Le nom d'élément. |
[in] | cleanup | true si l'évènement doit être nettoyé. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::cleanup(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryRemoveNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::lock(), et castor::makeUniqueLock().
|
inlinenoexcept |
Retire un élément à partir d'un nom.
[in] | name | Le nom d'élément. |
[in] | cleanup | true si l'évènement doit être nettoyé. |
Références castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::cleanup(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryRemoveNoLock().
|
inlinenoexcept |
|
protected |
Le nettoyeur d'éléments.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doCleanupNoLock(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryRemoveNoLock().
|
protected |
L'initaliseur d'éléments.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLock(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLockT().
|
protected |
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportAdded(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportCreation(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportDuplicate(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportNull(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::reportUnknown().
|
protected |
Le fusionneur de collection d'éléments.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::mergeInto().
|
protected |
|
mutableprotected |
La collection d'éléments.
Référencé par castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::begin(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::begin(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doCleanupNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doClearNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryAddNoLockT(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryFindNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::doTryRemoveNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::end(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::end(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::getObjectCount(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::getObjectCountNoLock(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::isEmpty(), castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::isEmptyNoLock(), et castor::ResourceCacheBaseT< ResT, KeyT, TraitsT >::rename().