Castor3D
..
|
Cache de plug-ins. Plus de détails...
Types publics | |
using | MyCacheType = CacheBase< Plugin, castor::String > |
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< 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 | 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 &&p_produce, Initialiser &&p_initialise=Initialiser{}, Cleaner &&p_clean=Cleaner{}, Merger &&p_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 &p_pluginName, castor::Path const &p_pathFolder) throw () |
Charge un plug-in, selon son nom (ex : libGlRenderSystem.dll => GlRenderSystem) Plus de détails... | |
C3D_API PluginSPtr | loadPlugin (castor::Path const &p_fileFullPath) throw () |
Charge un plug-in dont le chemin est donné Plus de détails... | |
C3D_API PluginStrMap | getPlugins (PluginType p_type) |
Récupère les plug-ins du type donné Plus de détails... | |
C3D_API void | loadAllPlugins (castor::Path const &p_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 |
Engine * | getEngine () 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< Plugin, castor::String > | |
Engine & | m_engine |
Collection | m_elements |
Producer | m_produce |
Initialiser | m_initialise |
Cleaner | m_clean |
Merger | m_merge |
Cache de plug-ins.
using castor3d::Cache< Plugin, castor::String >::Cleaner = typename MyCacheType::Cleaner |
using castor3d::Cache< Plugin, castor::String >::Collection = typename MyCacheType::Collection |
using castor3d::Cache< Plugin, castor::String >::Element = typename MyCacheType::Element |
using castor3d::Cache< Plugin, castor::String >::ElementPtr = typename MyCacheType::ElementPtr |
using castor3d::Cache< Plugin, castor::String >::Initialiser = typename MyCacheType::Initialiser |
using castor3d::Cache< Plugin, castor::String >::Key = typename MyCacheType::Key |
using castor3d::Cache< Plugin, castor::String >::Merger = typename MyCacheType::Merger |
using castor3d::Cache< Plugin, castor::String >::MyCacheType = CacheBase< Plugin, castor::String > |
using castor3d::Cache< Plugin, castor::String >::Producer = typename MyCacheType::Producer |
C3D_API castor3d::Cache< Plugin, castor::String >::Cache | ( | Engine & | engine, |
Producer && | p_produce, | ||
Initialiser && | p_initialise = Initialiser{} , |
||
Cleaner && | p_clean = Cleaner{} , |
||
Merger && | p_merge = Merger{} |
||
) |
Constructeur.
[in] | engine | Le moteur. |
[in] | p_produce | Le créateur d'objet. |
[in] | p_initialise | L'initialiseur d'objet. |
[in] | p_clean | Le nettoyeur d'objet. |
[in] | p_merge | Le fusionneur de collection d'objets. |
C3D_API castor3d::Cache< Plugin, castor::String >::~Cache | ( | ) |
Destructeur.
C3D_API void castor3d::Cache< Plugin, castor::String >::clear | ( | ) |
Vide la collection.
C3D_API PluginStrMap castor3d::Cache< Plugin, castor::String >::getPlugins | ( | PluginType | p_type | ) |
Récupère les plug-ins du type donné
[in] | p_type | Le type de plu-ins |
nullptr
si non trouvé C3D_API void castor3d::Cache< Plugin, castor::String >::loadAllPlugins | ( | castor::Path const & | p_folder | ) |
Charge tous les plug-ins d'un dossier donné
[in] | p_folder | Le dossier |
C3D_API PluginSPtr castor3d::Cache< Plugin, castor::String >::loadPlugin | ( | castor::String const & | p_pluginName, |
castor::Path const & | p_pathFolder | ||
) | |||
throw | ( | ||
) |
Charge un plug-in, selon son nom (ex : libGlRenderSystem.dll => GlRenderSystem)
[in] | p_pluginName | Le nom du plug-in |
[in] | p_pathFolder | Un chemin optionnel, pour y trouver le plug-in |
nullptr
si non trouvé (nom incorrect ou non trouvé dans le chemin donné ou le chemin principal) C3D_API PluginSPtr castor3d::Cache< Plugin, castor::String >::loadPlugin | ( | castor::Path const & | p_fileFullPath | ) | |
throw | ( | ||||
) |
Charge un plug-in dont le chemin est donné
[in] | p_fileFullPath | Le chemin du plug-in |
nullptr
si le chemin était incorrect ou s'il ne représentait pas un plug-in valide