nux-1.14.0
nux::TResourceCache< IdType, ResourceType > Class Template Reference
Inheritance diagram for nux::TResourceCache< IdType, ResourceType >:
nux::NResourceSet

List of all members.

Public Member Functions

void Flush ()
void AddCachedResource (const IdType &Id, ObjectPtr< ResourceType > Resource)
ObjectPtr< ResourceType > FindCachedResourceById (const IdType &Id)
void FlushResourceId (const IdType &Id)
virtual void FlushResource (CachedResourceData *Resource)
virtual void InitializeResourceFactories ()=0
std::vector< NResourceFactory * > & GetResourceFactories (void)
std::vector< NResourceUpdater * > & GetResourceUpdaters (void)

Public Attributes

std::map< IdType, ObjectPtr
< ResourceType > > 
ResourceMap
std::vector< NResourceFactory * > ResourceFactories
std::vector< NResourceUpdater * > ResourceUpdaters

Detailed Description

template<typename IdType, typename ResourceType>
class nux::TResourceCache< IdType, ResourceType >

Definition at line 256 of file GLResourceManager.h.


Member Function Documentation

template<typename IdType, typename ResourceType>
void nux::TResourceCache< IdType, ResourceType >::FlushResourceId ( const IdType &  Id) [inline]

Remove a cached resource from the cache. The cached resource may still have references to it. The resource internal flag "_cached" is set to false.

Definition at line 312 of file GLResourceManager.h.

    {
      ObjectPtr<ResourceType>   CachedResource(0);

      typedef std::map<IdType, ObjectPtr<ResourceType> >  MapType;
      typename MapType::iterator it = ResourceMap.find(Id);

      if(it != ResourceMap.end())
        CachedResource = (*it).second;

      if(CachedResource.IsValid())
      {
        ResourceMap.erase(it);
        CachedResource->_cached = false;
      }
    }

The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends