MAGE  v0.171.0
Matthias Advanced Game Engine
mage::Resource< ResourceT > Class Template Reference

#include <resource.hpp>

Public Member Functions

 Resource (std::wstring guid) noexcept
 
 Resource (const Resource &resource)=delete
 
 Resource (Resource &&resource) noexcept
 
virtual ~Resource ()
 
Resourceoperator= (const Resource &resource)=delete
 
Resourceoperator= (Resource &&resource) noexcept
 
const std::wstring_view GetGuid () const noexcept
 
bool IsFileResource () const
 
const std::filesystem::path GetPath () const
 

Private Attributes

std::wstring m_guid
 

Detailed Description

template<typename ResourceT>
class mage::Resource< ResourceT >

A class of resources.

Template Parameters
ResourceTThe reource type.

Constructor & Destructor Documentation

◆ Resource() [1/3]

template<typename ResourceT>
mage::Resource< ResourceT >::Resource ( std::wstring  guid)
explicitnoexcept

Constructs a resource.

Parameters
[in]guidThe globally unique identifier.

◆ Resource() [2/3]

template<typename ResourceT>
mage::Resource< ResourceT >::Resource ( const Resource< ResourceT > &  resource)
delete

Constructs a resource from the given resource.

Parameters
[in]resourceA reference to the resource to copy.

◆ Resource() [3/3]

template<typename ResourceT>
mage::Resource< ResourceT >::Resource ( Resource< ResourceT > &&  resource)
noexcept

Constructs a resource by moving the given resource.

Parameters
[in]resourceA reference to the resource to move.

◆ ~Resource()

template<typename ResourceT>
virtual mage::Resource< ResourceT >::~Resource ( )
virtual

Destructs this resource.

Member Function Documentation

◆ GetGuid()

template<typename ResourceT>
const std::wstring_view mage::Resource< ResourceT >::GetGuid ( ) const
noexcept

Returns the globally unique identifier of this resource.

Returns
The globally unique identifier of this resource.

◆ GetPath()

template<typename ResourceT>
const std::filesystem::path mage::Resource< ResourceT >::GetPath ( ) const

Returns the path of this resource.

Returns
The path of this resource.

◆ IsFileResource()

template<typename ResourceT>
bool mage::Resource< ResourceT >::IsFileResource ( ) const

Checks whether this resource represents a file resource.

Returns
true if this resource represents a file resource. false otherwise.

◆ operator=() [1/2]

template<typename ResourceT>
Resource& mage::Resource< ResourceT >::operator= ( const Resource< ResourceT > &  resource)
delete

Copies the given resource to this resource.

Parameters
[in]resourceA reference to the resource to copy.
Returns
A reference to the copy of the given resource (i.e. this resource).

◆ operator=() [2/2]

template<typename ResourceT>
Resource& mage::Resource< ResourceT >::operator= ( Resource< ResourceT > &&  resource)
noexcept

Moves the given resource to this resource.

Parameters
[in]resourceA reference to the resource to move.
Returns
A reference to the moved resource (i.e. this resource).

Member Data Documentation

◆ m_guid

template<typename ResourceT>
std::wstring mage::Resource< ResourceT >::m_guid
private

The globally unique identifier of this resource.