template<typename T> asge::ecs::ResourceHolder final
Owns Registry's single instance of resource type T.
#include <ResourceHolder.hpp>Inherits from asge::ecs::IResourceHolder.
Inheritance
classDiagram
class N2["asge::ecs::IResourceHolder"]
class N1["asge::ecs::ResourceHolder"]
N2 <|-- N1
click N2 href "classasge_1_1ecs_1_1IResourceHolder.html"
click N1 href "classasge_1_1ecs_1_1ResourceHolder.html"
Collaboration
classDiagram
class N3["T"]
class N2["asge::ecs::IResourceHolder"]
class N1["asge::ecs::ResourceHolder"]
N2 <|-- N1
N1 --> N3 : m_Value
click N2 href "classasge_1_1ecs_1_1IResourceHolder.html"
click N1 href "classasge_1_1ecs_1_1ResourceHolder.html"
Purely a typed box IResourceHolder can be stored/erased through — Registry is the only intended caller (via SetResource<T>/GetResource<T>), which static_casts back to ResourceHolder<T> using the id it already tracked.
Public Attributes
#
T m_ValuePublic Member Functions
#
explicit ResourceHolder(T inValue) noexcept(std::is_nothrow_move_constructible_v< T >)