← API Reference Class

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_Value

Public Member Functions

#explicit ResourceHolder(T inValue) noexcept(std::is_nothrow_move_constructible_v< T >)