Helios Engine 0.1.0
A modular ECS based data-oriented C++23 game engine
 
Loading...
Searching...
No Matches
helios::ecs::details::ResourceStorage< T > Class Template Referencefinal

Type-specific resource storage. More...

#include <resources_manager.hpp>

Inheritance diagram for helios::ecs::details::ResourceStorage< T >:
helios::ecs::details::ResourceStorageBase

Public Member Functions

template<typename... Args>
requires std::constructible_from<T, Args...>
 explicit (sizeof...(Args)==1) ResourceStorage(Args &&... args) noexcept(std::is_nothrow_constructible_v< T, Args... >)
 
 ResourceStorage (const ResourceStorage &) noexcept(std::is_nothrow_copy_constructible_v< T >)=default
 
 ResourceStorage (ResourceStorage &&) noexcept(std::is_nothrow_move_constructible_v< T >)=default
 
 ~ResourceStorage () override=default
 
ResourceStorageoperator= (const ResourceStorage &) noexcept(std::is_nothrow_copy_assignable_v< T >)=default
 
ResourceStorageoperator= (ResourceStorage &&) noexcept(std::is_nothrow_move_assignable_v< T >)=default
 
T & Get () noexcept
 
const T & Get () const noexcept
 
- Public Member Functions inherited from helios::ecs::details::ResourceStorageBase
virtual ~ResourceStorageBase ()=default
 

Detailed Description

template<ResourceTrait T>
class helios::ecs::details::ResourceStorage< T >

Type-specific resource storage.

Template Parameters
TResource type

Definition at line 30 of file resources_manager.hpp.

Constructor & Destructor Documentation

◆ ResourceStorage() [1/2]

template<ResourceTrait T>
helios::ecs::details::ResourceStorage< T >::ResourceStorage ( const ResourceStorage< T > &  ) const
defaultnoexcept

◆ ResourceStorage() [2/2]

template<ResourceTrait T>
helios::ecs::details::ResourceStorage< T >::ResourceStorage ( ResourceStorage< T > &&  ) const
defaultnoexcept

◆ ~ResourceStorage()

template<ResourceTrait T>
helios::ecs::details::ResourceStorage< T >::~ResourceStorage ( )
overridedefault

Member Function Documentation

◆ explicit()

template<ResourceTrait T>
template<typename... Args>
requires std::constructible_from<T, Args...>
helios::ecs::details::ResourceStorage< T >::explicit ( sizeof...  Args = = 1) &&
inlinenoexcept

Definition at line 34 of file resources_manager.hpp.

35 : resource_(std::forward<Args>(args)...) {}
BasicQuery< World, Allocator, Components... > Query
Type alias for query with mutable world access.
Definition query.hpp:2481

◆ Get() [1/2]

template<ResourceTrait T>
const T & helios::ecs::details::ResourceStorage< T >::Get ( ) const
inlinenoexcept

Definition at line 56 of file resources_manager.hpp.

56{ return resource_; }

◆ Get() [2/2]

template<ResourceTrait T>
T & helios::ecs::details::ResourceStorage< T >::Get ( )
inlinenoexcept

Definition at line 55 of file resources_manager.hpp.

55{ return resource_; }

◆ operator=() [1/2]

template<ResourceTrait T>
ResourceStorage & helios::ecs::details::ResourceStorage< T >::operator= ( const ResourceStorage< T > &  )
defaultnoexcept

◆ operator=() [2/2]

template<ResourceTrait T>
ResourceStorage & helios::ecs::details::ResourceStorage< T >::operator= ( ResourceStorage< T > &&  )
defaultnoexcept