Castor3D  0.11.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Liste de tous les membres
Référence du modèle de la classe castor3d::Cache< Plugin, castor::String >

Cache de plug-ins. Plus de détails...

Graphe d'héritage de castor3d::Cache< Plugin, castor::String >:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::Cache< Plugin, castor::String >:
Collaboration graph
[légende]

Types publics

using MyCacheType = CacheBase< Plugin, castor::String >
 
using Element = typename MyCacheType::Element
 
using Key = typename MyCacheType::Key
 
using Collection = typename MyCacheType::Collection
 
using LockType = typename MyCacheType::LockType
 
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< Plugin, castor::String >
using MyCacheType = CacheBase< Plugin, castor::String >
 
using MyCacheTraits = CacheTraits< Plugin, castor::String >
 
using Element = Plugin
 
using Key = castor::String
 
using Collection = castor::Collection< Element, Key >
 
using LockType = std::unique_lock< Collection >
 
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

C3D_API Cache (Engine &engine, Producer &&produce, Initialiser &&initialise=Initialiser{}, Cleaner &&clean=Cleaner{}, Merger &&merge=Merger{})
 Constructeur. Plus de détails...
 
C3D_API ~Cache ()
 Destructeur. Plus de détails...
 
C3D_API void clear ()
 Vide la collection. Plus de détails...
 
C3D_API PluginSPtr loadPlugin (castor::String const &pluginName, castor::Path const &pathFolder) throw ()
 Charge un plug-in, selon son nom (ex : libGlRenderSystem.dll => GlRenderSystem) Plus de détails...
 
C3D_API PluginSPtr loadPlugin (castor::Path const &fileFullPath) throw ()
 Charge un plug-in dont le chemin est donné Plus de détails...
 
C3D_API PluginStrMap getPlugins (PluginType type)
 Récupère les plug-ins du type donné Plus de détails...
 
C3D_API void loadAllPlugins (castor::Path const &folder)
 Charge tous les plug-ins d'un dossier donné Plus de détails...
 
- Fonctions membres publiques hérités de castor3d::CacheBase< Plugin, castor::String >
 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
 
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...
 
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)
 
void forEach (FuncType func) const
 Applique une fonction à tous les éléments de ce cache. Plus de détails...
 
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

- Fonctions membres protégées hérités de castor3d::CacheBase< Plugin, castor::String >
void doReportCreation (castor::String const &name)
 
void doReportDuplicate (castor::String const &name)
 
void doReportNull ()
 
- Attributs protégés hérités de castor3d::CacheBase< Plugin, castor::String >
Enginem_engine
 
Collection m_elements
 
Producer m_produce
 
Initialiser m_initialise
 
Cleaner m_clean
 
Merger m_merge
 

Description détaillée

template<>
class castor3d::Cache< Plugin, castor::String >

Cache de plug-ins.

Auteur
Sylvain DOREMUS
Date
13/10/2015
Version
0.8.0

Documentation des définitions de type membres

◆ Cleaner

using castor3d::Cache< Plugin, castor::String >::Cleaner = typename MyCacheType::Cleaner

◆ Collection

using castor3d::Cache< Plugin, castor::String >::Collection = typename MyCacheType::Collection

◆ Element

using castor3d::Cache< Plugin, castor::String >::Element = typename MyCacheType::Element

◆ ElementPtr

using castor3d::Cache< Plugin, castor::String >::ElementPtr = typename MyCacheType::ElementPtr

◆ Initialiser

using castor3d::Cache< Plugin, castor::String >::Initialiser = typename MyCacheType::Initialiser

◆ Key

using castor3d::Cache< Plugin, castor::String >::Key = typename MyCacheType::Key

◆ LockType

using castor3d::Cache< Plugin, castor::String >::LockType = typename MyCacheType::LockType

◆ Merger

using castor3d::Cache< Plugin, castor::String >::Merger = typename MyCacheType::Merger

◆ MyCacheType

using castor3d::Cache< Plugin, castor::String >::MyCacheType = CacheBase< Plugin, castor::String >

◆ Producer

using castor3d::Cache< Plugin, castor::String >::Producer = typename MyCacheType::Producer

Documentation des constructeurs et destructeur

◆ Cache()

C3D_API castor3d::Cache< Plugin, castor::String >::Cache ( Engine engine,
Producer &&  produce,
Initialiser &&  initialise = Initialiser{},
Cleaner &&  clean = Cleaner{},
Merger &&  merge = Merger{} 
)

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()

C3D_API castor3d::Cache< Plugin, castor::String >::~Cache ( )

Destructeur.

Documentation des fonctions membres

◆ clear()

C3D_API void castor3d::Cache< Plugin, castor::String >::clear ( )

Vide la collection.

◆ getPlugins()

C3D_API PluginStrMap castor3d::Cache< Plugin, castor::String >::getPlugins ( PluginType  type)

Récupère les plug-ins du type donné

Paramètres
[in]typeLe type de plu-ins
Renvoie
nullptr si non trouvé

◆ loadAllPlugins()

C3D_API void castor3d::Cache< Plugin, castor::String >::loadAllPlugins ( castor::Path const &  folder)

Charge tous les plug-ins d'un dossier donné

Paramètres
[in]folderLe dossier

◆ loadPlugin() [1/2]

C3D_API PluginSPtr castor3d::Cache< Plugin, castor::String >::loadPlugin ( castor::String const &  pluginName,
castor::Path const &  pathFolder 
)
throw (
)

Charge un plug-in, selon son nom (ex : libGlRenderSystem.dll => GlRenderSystem)

Paramètres
[in]pluginNameLe nom du plug-in
[in]pathFolderUn chemin optionnel, pour y trouver le plug-in
Renvoie
Le plug-in chargé, nullptr si non trouvé (nom incorrect ou non trouvé dans le chemin donné ou le chemin principal)

◆ loadPlugin() [2/2]

C3D_API PluginSPtr castor3d::Cache< Plugin, castor::String >::loadPlugin ( castor::Path const &  fileFullPath)
throw (
)

Charge un plug-in dont le chemin est donné

Paramètres
[in]fileFullPathLe chemin du plug-in
Renvoie
Le plug-in chargé, nullptr si le chemin était incorrect ou s'il ne représentait pas un plug-in valide

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