Castor3D 0.16.0
Multiplatform 3D engine
Public Types | Static Public Member Functions | List of all members
castor3d::PtrCacheTraitsBaseT< ResT, KeyT > Struct Template Reference

#include <CacheModule.hpp>

Inheritance diagram for castor3d::PtrCacheTraitsBaseT< ResT, KeyT >:
Inheritance graph
[legend]

Public Types

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

Static Public Member Functions

template<typename ... ParametersT>
static ElementPtrT makeElement (ElementCacheT const &, 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)
 

Member Typedef Documentation

◆ ElementCacheT

template<typename ResT , typename KeyT >
using castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::ElementCacheT = castor::ResourceCacheBaseT< ElementT, ElementKeyT, PtrCacheTraitsT< ElementT, ElementKeyT > >

◆ ElementCleanerT

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

◆ ElementContT

template<typename ResT , typename KeyT >
using castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::ElementContT = castor::UnorderedMap< ElementKeyT, ElementPtrT >

◆ ElementInitialiserT

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

◆ ElementKeyT

template<typename ResT , typename KeyT >
using castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::ElementKeyT = KeyT

◆ ElementMergerT

template<typename ResT , typename KeyT >
using castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::ElementMergerT
Initial value:
std::function< FuncT > Function
Definition ConfigModule.hpp:97
castor::ResourceCacheBaseT< ElementT, ElementKeyT, PtrCacheTraitsT< ElementT, ElementKeyT > > ElementCacheT
Definition CacheModule.hpp:30
castor::UniquePtr< ElementT > ElementPtrT
Definition CacheModule.hpp:27
castor::UnorderedMap< ElementKeyT, ElementPtrT > ElementContT
Definition CacheModule.hpp:29

◆ ElementObsT

template<typename ResT , typename KeyT >
using castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::ElementObsT = ElementT *

◆ ElementPtrT

template<typename ResT , typename KeyT >
using castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::ElementPtrT = castor::UniquePtr< ElementT >

◆ ElementT

template<typename ResT , typename KeyT >
using castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::ElementT = ResT

Member Function Documentation

◆ areElementsEqual() [1/4]

template<typename ResT , typename KeyT >
static bool castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::areElementsEqual ( ElementObsT const & lhs,
ElementObsT const & rhs )
inlinestatic

◆ areElementsEqual() [2/4]

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

◆ areElementsEqual() [3/4]

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

◆ areElementsEqual() [4/4]

template<typename ResT , typename KeyT >
static bool castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::areElementsEqual ( ElementPtrT const & lhs,
ElementPtrT const & rhs )
inlinestatic

◆ isElementObsNull()

template<typename ResT , typename KeyT >
static bool castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::isElementObsNull ( ElementObsT const & element)
inlinestatic

◆ makeElement()

template<typename ResT , typename KeyT >
template<typename ... ParametersT>
static ElementPtrT castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::makeElement ( ElementCacheT const & ,
ElementKeyT const & key,
ParametersT &&... params )
inlinestatic

◆ makeElementObs()

template<typename ResT , typename KeyT >
static ElementObsT castor3d::PtrCacheTraitsBaseT< ResT, KeyT >::makeElementObs ( ElementPtrT const & element)
inlinestatic

The documentation for this struct was generated from the following file: