ReactivePlusPlus
One more implementation of ReactiveX approach in C++ with care about performance and templates in mind
 
Loading...
Searching...
No Matches
fwd.hpp
1// ReactivePlusPlus library
2//
3// Copyright Aleksey Loginov 2022 - present.
4// Distributed under the Boost Software License, Version 1.0.
5// (See accompanying file LICENSE_1_0.txt or copy at
6// https://www.boost.org/LICENSE_1_0.txt)
7//
8// Project home: https://github.com/victimsnino/ReactivePlusPlus
9//
10
11#pragma once
12
13#include <chrono>
14#include <optional>
15
16namespace rpp::schedulers::details
17{
18struct scheduler_tag {};
19struct worker_tag {};
20} // namespace rpp::schedulers::details
21
22namespace rpp::schedulers
23{
24using clock_type = std::chrono::steady_clock;
25using time_point = clock_type::time_point;
26using duration = std::chrono::nanoseconds;
27using optional_duration = std::optional<duration>;
28
29class immediate;
30class trampoline;
32
33class new_thread;
34class run_loop;
35} // namespace rpp::schedulers
immediately calls provided schedulable or waits for time_point (in the caller-thread)
Definition: immediate_scheduler.hpp:28
scheduler which schedules execution of schedulables via queueing tasks to another thread with priorit...
Definition: new_thread_scheduler.hpp:32
scheduler which schedules execution via queueing tasks, but execution of tasks should be manually dis...
Definition: run_loop_scheduler.hpp:30
Schedules execution of schedulables via queueing tasks to the caller thread with priority to time_poi...
Definition: trampoline_scheduler.hpp:41