Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
system.hpp File Reference
#include <helios/ecs/system/system_param.hpp>
#include <helios/utils/hash.hpp>
#include <helios/utils/type_info.hpp>
#include <compare>
#include <concepts>
#include <cstddef>
#include <string_view>
#include <type_traits>

Go to the source code of this file.

Classes

struct  helios::ecs::details::MemberFnArgs< R(C::*)(Args...)>
struct  helios::ecs::details::MemberFnArgs< R(C::*)(Args...) const >
struct  helios::ecs::details::MemberFnArgs< R(*)(Args...)>
 Concept: a type's operator() arguments all have SystemParamTraits. More...
struct  helios::ecs::details::MemberFnArgs< R(Args...)>
struct  helios::ecs::details::HasSystemParamCallOperatorHelper< T >
struct  helios::ecs::SystemId
 Id for systems. More...
struct  std::hash< helios::ecs::SystemId >

Namespaces

namespace  helios
namespace  helios::ecs
namespace  helios::ecs::details
namespace  std
 STL namespace.

Concepts

concept  helios::ecs::details::HasValidSystemParams
concept  helios::ecs::details::HasSystemParamCallOperator
concept  helios::ecs::SystemTrait
 Concept for systems that declare all data access via parameter types.
concept  helios::ecs::LambdaSystemTrait
 Concept for lambda closure types that satisfy SystemTrait.
concept  helios::ecs::FunctorSystemTrait
 Concept for system types that are not lambda closures.
concept  helios::ecs::SystemWithNameTrait
 Concept for systems that declare all data access via parameter types.

Typedefs

using helios::ecs::SystemTypeId = utils::TypeId
 Type id for systems.
using helios::ecs::SystemTypeIndex = utils::TypeIndex
 Type index for systems.

Functions

template<SystemTrait T>
constexpr std::string_view helios::ecs::SystemNameOf () noexcept
 Gets the name of a system.
template<SystemTrait T>
constexpr std::string_view helios::ecs::SystemNameOf (const T &) noexcept
 Gets the name of a system.

Variables

template<typename... Args>
constexpr bool helios::ecs::details::kAllAreSystemParams
 True if every Arg in the pack satisfies SystemParam.