Hummingbird Framework
 All Classes Functions Variables Modules Pages
hb::Resource< ResourceType, ResourceId, ResourceManager > Class Template Reference

Class representing a loaded resource. More...

#include <Resource.h>

Public Member Functions

 Resource (const ResourceType &resource, const ResourceId &id)
 Class constructor. More...
 
 Resource (const ResourceId &id)
 Class constructor. Used for getting an already loaded resource. More...
 
 Resource (const Resource &other)
 Copy constructor. More...
 
Resourceoperator= (const Resource &other)
 Copy assignment. More...
 
 ~Resource ()
 Class destructor. More...
 
const ResourceType & get () const
 Get the resource. More...
 
ResourceType & get ()
 Get the resource. More...
 
const ResourceId & id () const
 Get the resource id.
 

Protected Attributes

int m_id
 

Detailed Description

template<typename ResourceType, typename ResourceId, typename ResourceManager>
class hb::Resource< ResourceType, ResourceId, ResourceManager >

Class representing a loaded resource.

Template Parameters
ResourceTypeType of the resource loaded.
ResourceIdType that uniquely identifies a ResourceType
ResourceManagerManager of the Resource. It must inherit from ResourceManager.

Constructor & Destructor Documentation

template<typename ResourceType, typename ResourceId, typename ResourceManager>
hb::Resource< ResourceType, ResourceId, ResourceManager >::Resource ( const ResourceType &  resource,
const ResourceId &  id 
)
inline

Class constructor.

Parameters
resourceResourceType instance to manage.
idUnique id of the resource.

Adds the resource to its ResourceManager.

template<typename ResourceType, typename ResourceId, typename ResourceManager>
hb::Resource< ResourceType, ResourceId, ResourceManager >::Resource ( const ResourceId &  id)
inline

Class constructor. Used for getting an already loaded resource.

Parameters
idUnique id of the resource.

Loads a resource from the ResourceManager. If the resource with Unique id id hasn't been loaded yet, it will register ResourceType instance using the default constructor.

template<typename ResourceType, typename ResourceId, typename ResourceManager>
hb::Resource< ResourceType, ResourceId, ResourceManager >::Resource ( const Resource< ResourceType, ResourceId, ResourceManager > &  other)
inline

Copy constructor.

Parameters
otherOriginal instance.
template<typename ResourceType, typename ResourceId, typename ResourceManager>
hb::Resource< ResourceType, ResourceId, ResourceManager >::~Resource ( )
inline

Class destructor.

Removes the resource from its ResourceManager.

Member Function Documentation

template<typename ResourceType, typename ResourceId, typename ResourceManager>
const ResourceType& hb::Resource< ResourceType, ResourceId, ResourceManager >::get ( ) const
inline

Get the resource.

Returns
Constant reference to the resource.
template<typename ResourceType, typename ResourceId, typename ResourceManager>
ResourceType& hb::Resource< ResourceType, ResourceId, ResourceManager >::get ( )
inline

Get the resource.

Returns
Reference to the resource.
template<typename ResourceType, typename ResourceId, typename ResourceManager>
Resource& hb::Resource< ResourceType, ResourceId, ResourceManager >::operator= ( const Resource< ResourceType, ResourceId, ResourceManager > &  other)
inline

Copy assignment.

Parameters
otherOriginal instance.

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