Castor3D 0.16.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques statiques | Liste de tous les membres
Référence du modèle de la structure castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >

#include <DesignModule.hpp>

Graphe d'héritage de castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >:
Inheritance graph
[légende]

Types publics

using ElementT = ResT
 
using ElementKeyT = KeyT
 
using ElementPtrT = ResourcePtrT< ElementT, ElementKeyT >
 
using ElementObsT = ResourceObsT< ElementT, ElementKeyT >
 
using ElementContT = UnorderedMap< KeyT, ElementPtrT >
 
using ElementCacheT = ResourceCacheBaseT< ElementT, KeyT, TraitsT >
 
using ElementInitialiserT = castor::Function< void( ElementT & ) >
 
using ElementCleanerT = castor::Function< void( ElementT & ) >
 
using ElementMergerT
 

Fonctions membres publiques statiques

template<typename ... ParametersT>
static ElementPtrT makeElement (ElementCacheT const &cache, ElementKeyT const &key, ParametersT &&... params)
 
static ElementObsT makeElementObs (ElementPtrT const &element)
 
static bool areElementsEqual (ElementObsT const &lhs, ElementObsT const &rhs)
 
static bool areElementsEqual (ElementObsT const &lhs, ElementPtrT const &rhs)
 
static bool areElementsEqual (ElementPtrT const &lhs, ElementObsT const &rhs)
 
static bool areElementsEqual (ElementPtrT const &lhs, ElementPtrT const &rhs)
 
static bool isElementObsNull (ElementObsT const &element)
 

Description détaillée

template<typename ResT, typename KeyT, typename TraitsT>
struct castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >

Structure d'aide à la création d'un castor::ResourceCacheTraitsT.

Remarques
Prédéfinit:
  • ElementT: Le type de ressource.
  • ElementPtrT: Le type de pointeur sur une ressource.
  • ElementObsT: Le type d'observateur sur une ressource.
  • ElementContT: Le type de conteneur de ressources.
  • ElementCacheT: Le type de base de cache de ressources.
  • ElementInitialiserT: Le prototype de la fonction pour initialiser une ressource.
  • ElementCleanerT: Le prototype de la fonction pour nettoyer une ressource.
  • ElementMergerT: Le prototype de la fonction pour fusionner un élément d'un cache dans un autre cache.
  • static ElementPtrT makeElement( ElementKeyT const &, ParametersT && ... ): La fonction de création d'un élément.
Il ne reste donc ainsi qu'à définir:
  • Name: Le nom du type d'élément.

Documentation des définitions de type membres

◆ ElementCacheT

template<typename ResT , typename KeyT , typename TraitsT >
using castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::ElementCacheT = ResourceCacheBaseT< ElementT, KeyT, TraitsT >

◆ ElementCleanerT

template<typename ResT , typename KeyT , typename TraitsT >
using castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::ElementCleanerT = castor::Function< void( ElementT & ) >

◆ ElementContT

template<typename ResT , typename KeyT , typename TraitsT >
using castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::ElementContT = UnorderedMap< KeyT, ElementPtrT >

◆ ElementInitialiserT

template<typename ResT , typename KeyT , typename TraitsT >
using castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::ElementInitialiserT = castor::Function< void( ElementT & ) >

◆ ElementKeyT

template<typename ResT , typename KeyT , typename TraitsT >
using castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::ElementKeyT = KeyT

◆ ElementMergerT

template<typename ResT , typename KeyT , typename TraitsT >
using castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::ElementMergerT
Valeur initiale :
std::function< FuncT > Function
Definition ConfigModule.hpp:97
UnorderedMap< KeyT, ElementPtrT > ElementContT
Definition DesignModule.hpp:428
ResourceCacheBaseT< ElementT, KeyT, TraitsT > ElementCacheT
Definition DesignModule.hpp:429
ResourcePtrT< ElementT, ElementKeyT > ElementPtrT
Definition DesignModule.hpp:426

◆ ElementObsT

template<typename ResT , typename KeyT , typename TraitsT >
using castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::ElementObsT = ResourceObsT< ElementT, ElementKeyT >

◆ ElementPtrT

template<typename ResT , typename KeyT , typename TraitsT >
using castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::ElementPtrT = ResourcePtrT< ElementT, ElementKeyT >

◆ ElementT

template<typename ResT , typename KeyT , typename TraitsT >
using castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::ElementT = ResT

Documentation des fonctions membres

◆ areElementsEqual() [1/4]

template<typename ResT , typename KeyT , typename TraitsT >
static bool castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::areElementsEqual ( ElementObsT const & lhs,
ElementObsT const & rhs )
inlinestatic

◆ areElementsEqual() [2/4]

template<typename ResT , typename KeyT , typename TraitsT >
static bool castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::areElementsEqual ( ElementObsT const & lhs,
ElementPtrT const & rhs )
inlinestatic

◆ areElementsEqual() [3/4]

template<typename ResT , typename KeyT , typename TraitsT >
static bool castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::areElementsEqual ( ElementPtrT const & lhs,
ElementObsT const & rhs )
inlinestatic

◆ areElementsEqual() [4/4]

template<typename ResT , typename KeyT , typename TraitsT >
static bool castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::areElementsEqual ( ElementPtrT const & lhs,
ElementPtrT const & rhs )
inlinestatic

◆ isElementObsNull()

template<typename ResT , typename KeyT , typename TraitsT >
static bool castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::isElementObsNull ( ElementObsT const & element)
inlinestatic

◆ makeElement()

template<typename ResT , typename KeyT , typename TraitsT >
template<typename ... ParametersT>
static ElementPtrT castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::makeElement ( ElementCacheT const & cache,
ElementKeyT const & key,
ParametersT &&... params )
inlinestatic

◆ makeElementObs()

template<typename ResT , typename KeyT , typename TraitsT >
static ElementObsT castor::ResourceCacheTraitsBaseT< ResT, KeyT, TraitsT >::makeElementObs ( ElementPtrT const & element)
inlinestatic

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