Castor3D  ..
Types publics | Fonctions membres publiques | Liste de tous les membres
Référence du modèle de la classe castor3d::Cache< ElementType, KeyType >

Classe de base pour un cache d'éléments. Plus de détails...

+ Graphe d'héritage de castor3d::Cache< ElementType, KeyType >:
+ Graphe de collaboration de castor3d::Cache< ElementType, KeyType >:

Types publics

using MyCacheType = CacheBase< ElementType, KeyType >
 
using MyCacheTraits = typename MyCacheType::MyCacheTraits
 
using Element = typename MyCacheType::Element
 
using Key = typename MyCacheType::Key
 
using Collection = typename MyCacheType::Collection
 
using ElementPtr = typename MyCacheType::ElementPtr
 
using Producer = typename MyCacheType::Producer
 
using Initialiser = typename MyCacheType::Initialiser
 
using Cleaner = typename MyCacheType::Cleaner
 
using Merger = typename MyCacheType::Merger
 
- Types publics hérités de castor3d::CacheBase< ElementType, KeyType >
using MyCacheType = CacheBase< ElementType, KeyType >
 
using MyCacheTraits = CacheTraits< ElementType, KeyType >
 
using Element = ElementType
 
using Key = KeyType
 
using Collection = castor::Collection< Element, Key >
 
using ElementPtr = std::shared_ptr< Element >
 
using Producer = typename MyCacheTraits::Producer
 
using Merger = typename MyCacheTraits::Merger
 
using Initialiser = ElementInitialiser< Element >
 
using Cleaner = ElementCleaner< Element >
 

Fonctions membres publiques

 Cache (Engine &engine, Producer &&produce, Initialiser &&initialise=Initialiser{}, Cleaner &&clean=Cleaner{}, Merger &&merge=Merger{})
 Constructeur. Plus de détails...
 
 ~Cache ()
 Destructeur. Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::CacheBase< ElementType, KeyType >
 CacheBase (Engine &engine, Producer &&produce, Initialiser &&initialise, Cleaner &&clean, Merger &&merge)
 Constructeur. Plus de détails...
 
 ~CacheBase ()
 Destructeur. Plus de détails...
 
void cleanup ()
 Met tous les éléments à nettoyer. Plus de détails...
 
void clear ()
 Vide la collection. Plus de détails...
 
bool isEmpty () const
 
template<typename ... Parameters>
ElementPtr create (Key const &name, Parameters &&... parameters)
 Crée un élément. Plus de détails...
 
ElementPtr add (Key const &name, ElementPtr element)
 Retire un élément à partir d'un nom. Plus de détails...
 
template<typename ... Parameters>
ElementPtr add (Key const &name, Parameters &&... parameters)
 Crée un élément. Plus de détails...
 
void remove (Key const &name)
 Retire un élément à partir d'un nom. Plus de détails...
 
void mergeInto (MyCacheType &destination)
 
template<typename FuncType >
void forEach (FuncType func) const
 Applique une fonction à tous les éléments de ce cache. Plus de détails...
 
template<typename FuncType >
void forEach (FuncType func)
 Applique une fonction à tous les éléments de ce cache. Plus de détails...
 
uint32_t getObjectCount () const
 
EnginegetEngine () const
 
castor::String const & getObjectTypeName () const
 
bool has (Key const &name) const
 
ElementPtr find (Key const &name) const
 Cherche un élément par son nom. Plus de détails...
 
void lock () const
 Locke le mutex de la collection. Plus de détails...
 
void unlock () const
 Délocke le mutex de la collection. Plus de détails...
 
auto begin ()
 
auto begin () const
 
auto end ()
 
auto end () const
 

Membres hérités additionnels

- Attributs protégés hérités de castor3d::CacheBase< ElementType, KeyType >
Enginem_engine
 
Collection m_elements
 
Producer m_produce
 
Initialiser m_initialise
 
Cleaner m_clean
 
Merger m_merge
 

Description détaillée

template<typename ElementType, typename KeyType>
class castor3d::Cache< ElementType, KeyType >

Classe de base pour un cache d'éléments.

Auteur
Sylvain DOREMUS
Date
13/10/2015
Version
0.8.0

Documentation des définitions de type membres

◆ Cleaner

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::Cleaner = typename MyCacheType::Cleaner

◆ Collection

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::Collection = typename MyCacheType::Collection

◆ Element

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::Element = typename MyCacheType::Element

◆ ElementPtr

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::ElementPtr = typename MyCacheType::ElementPtr

◆ Initialiser

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::Initialiser = typename MyCacheType::Initialiser

◆ Key

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::Key = typename MyCacheType::Key

◆ Merger

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::Merger = typename MyCacheType::Merger

◆ MyCacheTraits

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::MyCacheTraits = typename MyCacheType::MyCacheTraits

◆ MyCacheType

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::MyCacheType = CacheBase< ElementType, KeyType >

◆ Producer

template<typename ElementType , typename KeyType >
using castor3d::Cache< ElementType, KeyType >::Producer = typename MyCacheType::Producer

Documentation des constructeurs et destructeur

◆ Cache()

template<typename ElementType , typename KeyType >
castor3d::Cache< ElementType, KeyType >::Cache ( Engine engine,
Producer &&  produce,
Initialiser &&  initialise = Initialiser{},
Cleaner &&  clean = Cleaner{},
Merger &&  merge = Merger{} 
)
inline

Constructeur.

Paramètres
[in]engineLe moteur.
[in]produceLe créateur d'objet.
[in]initialiseL'initialiseur d'objet.
[in]cleanLe nettoyeur d'objet.
[in]mergeLe fusionneur de collection d'objets.

◆ ~Cache()

template<typename ElementType , typename KeyType >
castor3d::Cache< ElementType, KeyType >::~Cache ( )
inline

Destructeur.


La documentation de cette classe a été générée à partir du fichier suivant :