Helios Engine 0.1.0
A modular ECS based data-oriented C++23 game engine
 
Loading...
Searching...
No Matches
resource.hpp File Reference
#include <helios/core_pch.hpp>
#include <ctti/name.hpp>
#include <ctti/type_id.hpp>
#include <atomic>
#include <concepts>
#include <cstddef>
#include <string_view>
#include <type_traits>

Go to the source code of this file.

Namespaces

namespace  helios
 
namespace  helios::ecs
 

Concepts

concept  helios::ecs::ResourceTrait
 Concept for valid resource types.
 
concept  helios::ecs::ResourceWithNameTrait
 Concept for resources that provide custom names.
 
concept  helios::ecs::ResourceWithThreadSafetyTrait
 Concept for resources that provide thread-safety trait.
 
concept  helios::ecs::AtomicResourceTrait
 Concept for atomic resources that can be accessed concurrently.
 

Typedefs

using helios::ecs::ResourceTypeId = size_t
 Type ID for resources.
 

Functions

template<ResourceTrait T>
constexpr ResourceTypeId helios::ecs::ResourceTypeIdOf () noexcept
 Gets type ID for a resource type.
 
template<ResourceTrait T>
constexpr std::string_view helios::ecs::ResourceNameOf () noexcept
 Gets name for a resource type.
 
template<ResourceTrait T>
constexpr bool helios::ecs::IsResourceThreadSafe () noexcept
 Checks if a resource type is thread-safe.