Toast Engine
Loading...
Searching...
No Matches
assets::Handle< T > Class Template Reference

Type-safe smart pointer for assets. More...

#include <core_types.hpp>

Inheritance diagram for assets::Handle< T >:
Collaboration diagram for assets::Handle< T >:

Public Types

using asset_type = T

Public Member Functions

auto operator-> () noexcept -> T *
auto operator-> () const noexcept -> const T *
auto operator* () noexcept -> T &
auto operator* () const noexcept -> const T &
auto get () noexcept -> T &
auto get () const noexcept -> const T &
template<typename U>
auto as () -> Handle< U >
 HandleBase ()=default
 HandleBase (Asset *asset)
 HandleBase (Asset *asset, toast::UID uid, std::string_view uri)
 Constructs a handle that stores its source UID.
 HandleBase (const HandleBase &other)
 HandleBase (HandleBase &&other) noexcept
Public Member Functions inherited from assets::HandleBase
 HandleBase (Asset *asset)
 HandleBase (Asset *asset, toast::UID uid, std::string_view uri)
 Constructs a handle that stores its source UID.
 HandleBase (const HandleBase &other)
auto operator= (const HandleBase &other) -> HandleBase &
 HandleBase (HandleBase &&other) noexcept
auto operator= (HandleBase &&other) noexcept -> HandleBase &
void onChangeCallback (std::function< void()> &&callback)
auto hasValue () const noexcept -> bool
auto uid () const noexcept -> toast::UID
auto path () const noexcept -> std::string_view
auto get () noexcept -> Asset &
auto get () const noexcept -> const Asset &
auto operator-> () noexcept -> Asset *
auto operator-> () const noexcept -> const Asset *
auto operator== (const HandleBase &other) const -> bool
auto operator< (const HandleBase &other) const -> bool

Additional Inherited Members

Protected Attributes inherited from assets::HandleBase
Asset * m_asset = nullptr
toast::UID m_uid
std::string m_uri

Detailed Description

template<typename T>
class assets::Handle< T >

Type-safe smart pointer for assets.

Member Function Documentation

◆ HandleBase()

template<typename T>
assets::HandleBase::HandleBase ( Asset * asset,
toast::UID uid,
std::string_view uri )

Constructs a handle that stores its source UID.

If the pointer is null (unresolved handle), the Handle will still have a uid so serialization won't explode the engine. It also will make handling missing assets easier


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