Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
schedule.hpp File Reference
#include <helios/assert.hpp>
#include <helios/ecs/schedule/dag.hpp>
#include <helios/ecs/schedule/executor/executor.hpp>
#include <helios/ecs/schedule/run_condition.hpp>
#include <helios/ecs/schedule/system_local_data.hpp>
#include <helios/ecs/schedule/system_set.hpp>
#include <helios/ecs/schedule/system_storage.hpp>
#include <helios/ecs/system/system.hpp>
#include <helios/ecs/world.hpp>
#include <helios/utils/type_info.hpp>
#include <algorithm>
#include <array>
#include <concepts>
#include <cstddef>
#include <cstdint>
#include <expected>
#include <functional>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <type_traits>
#include <unordered_map>
#include <vector>
#include <helios/ecs/schedule/system_group_handle.hpp>
#include <helios/ecs/schedule/system_handle.hpp>
#include <helios/ecs/schedule/system_set_handle.hpp>

Go to the source code of this file.

Classes

 Metadata attached to a system entry for ordering and configuration. More...
struct  helios::ecs::ScheduleSettings
 Settings that control how a schedule is compiled and executed. More...
struct  helios::ecs::ScheduleError
 Error type returned when schedule compilation fails. More...
class  helios::ecs::Schedule
 A collection of systems, sets, and run conditions with ordering constraints. More...

Namespaces

namespace  helios
namespace  helios::ecs

Concepts

concept  helios::ecs::ScheduleTrait
 Concept for schedules.
concept  helios::ecs::ScheduleWithNameTrait
 Concept for schedules that provide a name.

Typedefs

using helios::ecs::ScheduleTypeIndex = utils::TypeIndex
 Type index for schedules.
using helios::ecs::ScheduleTypeId = utils::TypeId
 Type id for schedules.
template<typename T>
using helios::ecs::ScheduleResult = std::expected<T, ScheduleError>
 Result type for schedule operations that can fail.

Enumerations

enum class  helios::ecs::ScheduleErrorKind : uint8_t {
  helios::ecs::kUnknown , helios::ecs::kCycleDetected , helios::ecs::kAmbiguousAccess , helios::ecs::kUnknownSet ,
  helios::ecs::kUnknownNode
}
 Kind of error produced during schedule compilation. More...

Functions

template<ScheduleTrait T>
constexpr std::string_view helios::ecs::ScheduleNameOf (const T &={}) noexcept
 Schedule name for debugging and serialization.