Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
Asset::Ref< Key, AssetClass > Class Template Reference

#include <Asset.h>

Collaboration diagram for Asset::Ref< Key, AssetClass >:

Public Types

using RecordType = Record<Key, AssetClass>
using Result = LoadResult<Key, AssetClass>

Public Member Functions

 Ref ()=default
LoadState getState () const
bool isLoaded () const
AssetClass * get () const
uint64_t getGeneration () const
const std::string & getError () const
std::shared_future< ResultreadyFuture () const
 operator bool () const

Private Member Functions

 Ref (std::shared_ptr< RecordType > record)

Static Private Member Functions

static std::shared_future< ResultexpiredFuture ()

Private Attributes

std::weak_ptr< RecordTyperecord_

Detailed Description

template<typename Key, typename AssetClass>
class Asset::Ref< Key, AssetClass >

Definition at line 93 of file Asset.h.

Member Typedef Documentation

◆ RecordType

template<typename Key, typename AssetClass>
using Asset::Ref< Key, AssetClass >::RecordType = Record<Key, AssetClass>

Definition at line 96 of file Asset.h.

◆ Result

template<typename Key, typename AssetClass>
using Asset::Ref< Key, AssetClass >::Result = LoadResult<Key, AssetClass>

Definition at line 97 of file Asset.h.

Constructor & Destructor Documentation

◆ Ref() [1/2]

template<typename Key, typename AssetClass>
Asset::Ref< Key, AssetClass >::Ref ( )
default

◆ Ref() [2/2]

template<typename Key, typename AssetClass>
Asset::Ref< Key, AssetClass >::Ref ( std::shared_ptr< RecordType > record)
inlineexplicitprivate

Definition at line 145 of file Asset.h.

Member Function Documentation

◆ expiredFuture()

template<typename Key, typename AssetClass>
std::shared_future< Result > Asset::Ref< Key, AssetClass >::expiredFuture ( )
inlinestaticprivate

Definition at line 147 of file Asset.h.

Referenced by Asset::Ref< std::filesystem::path, Audio >::readyFuture().

Here is the caller graph for this function:

◆ get()

template<typename Key, typename AssetClass>
AssetClass * Asset::Ref< Key, AssetClass >::get ( ) const
inlinenodiscard

Definition at line 112 of file Asset.h.

◆ getError()

template<typename Key, typename AssetClass>
const std::string & Asset::Ref< Key, AssetClass >::getError ( ) const
inlinenodiscard

Definition at line 124 of file Asset.h.

◆ getGeneration()

template<typename Key, typename AssetClass>
uint64_t Asset::Ref< Key, AssetClass >::getGeneration ( ) const
inlinenodiscard

Definition at line 118 of file Asset.h.

◆ getState()

template<typename Key, typename AssetClass>
LoadState Asset::Ref< Key, AssetClass >::getState ( ) const
inlinenodiscard

Definition at line 101 of file Asset.h.

Referenced by Asset::Ref< std::filesystem::path, Audio >::isLoaded().

Here is the caller graph for this function:

◆ isLoaded()

template<typename Key, typename AssetClass>
bool Asset::Ref< Key, AssetClass >::isLoaded ( ) const
inlinenodiscard

Definition at line 107 of file Asset.h.

◆ operator bool()

template<typename Key, typename AssetClass>
Asset::Ref< Key, AssetClass >::operator bool ( ) const
inlineexplicitnodiscard

Definition at line 137 of file Asset.h.

◆ readyFuture()

template<typename Key, typename AssetClass>
std::shared_future< Result > Asset::Ref< Key, AssetClass >::readyFuture ( ) const
inlinenodiscard

Definition at line 131 of file Asset.h.

Member Data Documentation

◆ record_

template<typename Key, typename AssetClass>
std::weak_ptr<RecordType> Asset::Ref< Key, AssetClass >::record_
private

Definition at line 160 of file Asset.h.


The documentation for this class was generated from the following file:
  • /home/magerbeton/Documents/gl3-vulkan/Engine/include/Engine/Core/Asset.h