Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
Loading...
Searching...
No Matches
scheduler.hpp File Reference
#include "aria/abi/export.hpp"
#include <chrono>
#include <cstdint>
#include <functional>
#include <stdexcept>
#include <type_traits>
Include dependency graph for scheduler.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  aria::unsupported_capability
 Thrown when a caller invokes a capability the scheduler did not advertise (e.g. More...
class  aria::IScheduler

Namespaces

namespace  aria

Enumerations

enum class  aria::SchedulerCaps : std::uint32_t {
  aria::None = 0 , aria::Post = 1u << 0 , aria::Delay = 1u << 1 , aria::MainThread = 1u << 2 ,
  aria::Pumpable = 1u << 3 , aria::GraphSafe = 1u << 4 , aria::WorkerSafe = 1u << 5 , aria::Autonomous = 1u << 6
}

Functions

constexpr SchedulerCaps aria::operator| (SchedulerCaps a, SchedulerCaps b) noexcept
constexpr SchedulerCaps aria::operator& (SchedulerCaps a, SchedulerCaps b) noexcept
constexpr SchedulerCapsaria::operator|= (SchedulerCaps &a, SchedulerCaps b) noexcept
constexpr SchedulerCapsaria::operator&= (SchedulerCaps &a, SchedulerCaps b) noexcept
constexpr bool aria::has_any (SchedulerCaps a, SchedulerCaps b) noexcept
constexpr bool aria::has_all (SchedulerCaps a, SchedulerCaps b) noexcept
bool aria::has_caps (const IScheduler &s, SchedulerCaps required) noexcept
void aria::require_caps (const IScheduler &s, SchedulerCaps required, const char *context="scheduler")
 Throwing accessor — useful at component construction time when missing a capability is a programmer error.