OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::AssetHandle< AssetType > Class Template Reference

アセットハンドル More...

#include <AssetHandle.hpp>

Public Types

using AssetIDWrapperType = AssetIDWrapper< AssetHandle >
 アセット ID ラッパー型 More...
 
using IDType = typename AssetIDWrapperType::IDType
 アセット ID 型 More...
 

Public Member Functions

SIV3D_NODISCARD_CXX20 AssetHandle ()
 
SIV3D_NODISCARD_CXX20 AssetHandle (std::shared_ptr< AssetIDWrapperType > &&id)
 
IDType id () const noexcept
 アセットの内部管理 ID を返します。 More...
 
bool isEmpty () const noexcept
 アセットが空であるかを返します。 More...
 
 operator bool () const noexcept
 アセットが空でないかを返します。 More...
 
bool operator== (const AssetHandle &other) const noexcept
 2 つのアセットが同じオブジェクトであるかを返します。 More...
 
bool operator!= (const AssetHandle &other) const noexcept
 2 つのアセットが異なるオブジェクトであるかを返します。 More...
 
void release ()
 このハンドルが管理するアセットを解放します。 More...
 

Protected Attributes

std::shared_ptr< AssetIDWrapperTypem_handle
 

Detailed Description

template<class AssetType>
class s3d::AssetHandle< AssetType >

アセットハンドル

Template Parameters
AssetTypeアセットのタグ

Member Typedef Documentation

◆ AssetIDWrapperType

template<class AssetType >
using s3d::AssetHandle< AssetType >::AssetIDWrapperType = AssetIDWrapper<AssetHandle>

アセット ID ラッパー型

◆ IDType

template<class AssetType >
using s3d::AssetHandle< AssetType >::IDType = typename AssetIDWrapperType::IDType

アセット ID 型

Constructor & Destructor Documentation

◆ AssetHandle() [1/2]

template<class AssetType >
SIV3D_NODISCARD_CXX20 s3d::AssetHandle< AssetType >::AssetHandle ( )

◆ AssetHandle() [2/2]

template<class AssetType >
SIV3D_NODISCARD_CXX20 s3d::AssetHandle< AssetType >::AssetHandle ( std::shared_ptr< AssetIDWrapperType > &&  id)
explicit

Member Function Documentation

◆ id()

template<class AssetType >
IDType s3d::AssetHandle< AssetType >::id ( ) const
noexcept

アセットの内部管理 ID を返します。

Remarks
アセットが作成されるときに割り当てられる(同じ種類のアセット内で)一意の値です。
Returns
アセットの内部管理 ID

◆ isEmpty()

template<class AssetType >
bool s3d::AssetHandle< AssetType >::isEmpty ( ) const
noexcept

アセットが空であるかを返します。

Returns
アセットが空の場合 true, それ以外の場合は false

◆ operator bool()

template<class AssetType >
s3d::AssetHandle< AssetType >::operator bool ( ) const
explicitnoexcept

アセットが空でないかを返します。

Returns
アセットが空でない場合 true, それ以外の場合は false

◆ operator!=()

template<class AssetType >
bool s3d::AssetHandle< AssetType >::operator!= ( const AssetHandle< AssetType > &  other) const
noexcept

2 つのアセットが異なるオブジェクトであるかを返します。

Parameters
other比較するオブジェクト
Returns
2 つのアセットが異なるオブジェクトである場合 true, それ以外の場合は false

◆ operator==()

template<class AssetType >
bool s3d::AssetHandle< AssetType >::operator== ( const AssetHandle< AssetType > &  other) const
noexcept

2 つのアセットが同じオブジェクトであるかを返します。

Parameters
other比較するオブジェクト
Returns
2 つのアセットが同じオブジェクトである場合 true, それ以外の場合は false

◆ release()

template<class AssetType >
void s3d::AssetHandle< AssetType >::release ( )

このハンドルが管理するアセットを解放します。

Remarks
解放されたアセットは空になります。

Member Data Documentation

◆ m_handle

template<class AssetType >
std::shared_ptr<AssetIDWrapperType> s3d::AssetHandle< AssetType >::m_handle
protected

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