Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
helios::ecs::ScheduleOrdering Class Reference

Handle returned when adding a schedule to the scheduler for configuring ordering. More...

#include <scheduler.hpp>

Public Member Functions

 ScheduleOrdering (Scheduler &scheduler, size_t hash) noexcept
 ScheduleOrdering (Scheduler &scheduler, ScheduleTypeIndex index) noexcept
template<ScheduleTrait T>
 ScheduleOrdering (const T &schedule, Scheduler &scheduler) noexcept
 ScheduleOrdering (ScheduleOrdering &&) noexcept=default
 ScheduleOrdering (const ScheduleOrdering &)=delete
 ~ScheduleOrdering () noexcept=default
ScheduleOrderingoperator= (const ScheduleOrdering &)=delete
ScheduleOrderingoperator= (ScheduleOrdering &&) noexcept=default
auto After (this auto &&self, ScheduleTypeIndex index) -> decltype(std::forward< decltype(self)>(self))
template<ScheduleTrait T>
auto After (this auto &&self, const T &schedule={}) -> decltype(std::forward< decltype(self)>(self))
auto Before (this auto &&self, ScheduleTypeIndex index) -> decltype(std::forward< decltype(self)>(self))
template<ScheduleTrait T>
auto Before (this auto &&self, const T &schedule={}) -> decltype(std::forward< decltype(self)>(self))
auto InStage (this auto &&self, StageTypeIndex stage) -> decltype(std::forward< decltype(self)>(self))
template<StageTrait T>
auto InStage (this auto &&self, const T &stage={}) -> decltype(std::forward< decltype(self)>(self))
SchedulerDone () noexcept

Friends

class Scheduler

Detailed Description

Handle returned when adding a schedule to the scheduler for configuring ordering.

Definition at line 83 of file scheduler.hpp.

Constructor & Destructor Documentation

◆ ScheduleOrdering() [1/5]

helios::ecs::ScheduleOrdering::ScheduleOrdering ( Scheduler & scheduler,
size_t hash )
inlinenoexcept

Definition at line 85 of file scheduler.hpp.

◆ ScheduleOrdering() [2/5]

helios::ecs::ScheduleOrdering::ScheduleOrdering ( Scheduler & scheduler,
ScheduleTypeIndex index )
inlinenoexcept

Definition at line 88 of file scheduler.hpp.

◆ ScheduleOrdering() [3/5]

template<ScheduleTrait T>
helios::ecs::ScheduleOrdering::ScheduleOrdering ( const T & schedule,
Scheduler & scheduler )
inlineexplicitnoexcept

Definition at line 92 of file scheduler.hpp.

◆ ScheduleOrdering() [4/5]

helios::ecs::ScheduleOrdering::ScheduleOrdering ( ScheduleOrdering && )
defaultnoexcept

◆ ScheduleOrdering() [5/5]

helios::ecs::ScheduleOrdering::ScheduleOrdering ( const ScheduleOrdering & )
delete

◆ ~ScheduleOrdering()

helios::ecs::ScheduleOrdering::~ScheduleOrdering ( )
defaultnoexcept

Member Function Documentation

◆ After() [1/2]

template<ScheduleTrait T>
auto helios::ecs::ScheduleOrdering::After ( this auto && self,
const T & schedule = {} ) -> decltype(std::forward< decltype(self)>(self))
inline

Definition at line 106 of file scheduler.hpp.

◆ After() [2/2]

auto helios::ecs::ScheduleOrdering::After ( this auto && self,
ScheduleTypeIndex index ) -> decltype(std::forward< decltype(self)>(self))
inline

Definition at line 324 of file scheduler.hpp.

◆ Before() [1/2]

template<ScheduleTrait T>
auto helios::ecs::ScheduleOrdering::Before ( this auto && self,
const T & schedule = {} ) -> decltype(std::forward< decltype(self)>(self))
inline

Definition at line 116 of file scheduler.hpp.

◆ Before() [2/2]

auto helios::ecs::ScheduleOrdering::Before ( this auto && self,
ScheduleTypeIndex index ) -> decltype(std::forward< decltype(self)>(self))
inline

Definition at line 338 of file scheduler.hpp.

◆ Done()

Scheduler & helios::ecs::ScheduleOrdering::Done ( )
inlinenoexcept

Definition at line 132 of file scheduler.hpp.

◆ InStage() [1/2]

template<StageTrait T>
auto helios::ecs::ScheduleOrdering::InStage ( this auto && self,
const T & stage = {} ) -> decltype(std::forward< decltype(self)>(self))
inline

Definition at line 126 of file scheduler.hpp.

◆ InStage() [2/2]

auto helios::ecs::ScheduleOrdering::InStage ( this auto && self,
StageTypeIndex stage ) -> decltype(std::forward< decltype(self)>(self))
inline

Definition at line 352 of file scheduler.hpp.

◆ operator=() [1/2]

ScheduleOrdering & helios::ecs::ScheduleOrdering::operator= ( const ScheduleOrdering & )
delete

◆ operator=() [2/2]

ScheduleOrdering & helios::ecs::ScheduleOrdering::operator= ( ScheduleOrdering && )
defaultnoexcept

◆ Scheduler

friend class Scheduler
friend

Definition at line 138 of file scheduler.hpp.