Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches

Identifier for a system set. More...

#include <system_set.hpp>

Public Member Functions

constexpr std::strong_ordering operator<=> (const SystemSetId &) const noexcept=default
template<std::ranges::input_range R>
requires std::same_as<std::ranges::range_value_t<R>, SystemId>
constexpr auto From (const R &ids) noexcept -> SystemSetId

Static Public Member Functions

static constexpr SystemSetId From (SystemSetTypeIndex index) noexcept
 Creates system set id from a system set type index.
static constexpr SystemSetId From (SystemSetTypeId id) noexcept
 Creates system set id from a system set type id.
template<SystemSetTrait T>
static constexpr SystemSetId From () noexcept
 Creates system set id from a system set type.
template<SystemSetTrait T>
static constexpr SystemSetId From (const T &) noexcept
 Creates system set id from a system set type.
template<std::ranges::input_range R>
requires std::same_as<std::ranges::range_value_t<R>, SystemId>
static constexpr SystemSetId From (const R &ids) noexcept
 Creates system set id from a range of system ids.

Public Attributes

size_t id = 0

Detailed Description

Identifier for a system set.

Definition at line 70 of file system_set.hpp.

Member Function Documentation

◆ From() [1/6]

template<SystemSetTrait T>
constexpr SystemSetId helios::ecs::SystemSetId::From ( )
inlinestaticnodiscardconstexprnoexcept

Creates system set id from a system set type.

Template Parameters
TSystem set type
Returns
System set id

Definition at line 98 of file system_set.hpp.

◆ From() [2/6]

template<std::ranges::input_range R>
requires std::same_as<std::ranges::range_value_t<R>, SystemId>
constexpr SystemSetId helios::ecs::SystemSetId::From ( const R & ids)
staticnodiscardconstexprnoexcept

Creates system set id from a range of system ids.

Template Parameters
RRange type containing SystemId elements
Parameters
idsRange of system ids
Returns
System set id

◆ From() [3/6]

template<std::ranges::input_range R>
requires std::same_as<std::ranges::range_value_t<R>, SystemId>
auto helios::ecs::SystemSetId::From ( const R & ids) -> SystemSetId
constexprnoexcept

Definition at line 130 of file system_set.hpp.

◆ From() [4/6]

template<SystemSetTrait T>
constexpr SystemSetId helios::ecs::SystemSetId::From ( const T & )
inlinestaticnodiscardconstexprnoexcept

Creates system set id from a system set type.

Template Parameters
TSystem set type
Parameters
instanceSystem set instance
Returns
System set id

Definition at line 109 of file system_set.hpp.

◆ From() [5/6]

constexpr SystemSetId helios::ecs::SystemSetId::From ( SystemSetTypeId id)
inlinestaticnodiscardconstexprnoexcept

Creates system set id from a system set type id.

Parameters
idSystem set type id
Returns
System set id

Definition at line 88 of file system_set.hpp.

◆ From() [6/6]

constexpr SystemSetId helios::ecs::SystemSetId::From ( SystemSetTypeIndex index)
inlinestaticnodiscardconstexprnoexcept

Creates system set id from a system set type index.

Parameters
indexSystem set type index
Returns
System set id

Definition at line 78 of file system_set.hpp.

◆ operator<=>()

std::strong_ordering helios::ecs::SystemSetId::operator<=> ( const SystemSetId & ) const
nodiscardconstexprdefaultnoexcept

Member Data Documentation

◆ id

size_t helios::ecs::SystemSetId::id = 0

Definition at line 71 of file system_set.hpp.