|
| 1 | +// src/beman/execution/execution.cpp -*-C++-*- |
| 2 | +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| 3 | +// ---------------------------------------------------------------------------- |
| 4 | + |
| 5 | +module; |
| 6 | +#include <execution> |
| 7 | +#include <stop_token> |
| 8 | +#include <beman/execution/execution.hpp> |
| 9 | +#include <beman/execution/stop_token.hpp> |
| 10 | + |
| 11 | +export module beman_execution; |
| 12 | + |
| 13 | +namespace beman::execution { |
| 14 | +export int version(0); |
| 15 | +// [stoptoken.concepts], stop token concepts |
| 16 | +export using ::beman::execution::stoppable_token; |
| 17 | +export using ::beman::execution::unstoppable_token; |
| 18 | + |
| 19 | +// [stoptoken], class stop_token |
| 20 | +export using ::beman::execution::stop_token; |
| 21 | + |
| 22 | +// [stopsource], class stop_source |
| 23 | +export using ::beman::execution::stop_source; |
| 24 | + |
| 25 | +// no-shared-stop-state indicator |
| 26 | +//-dk:TODO export using ::beman::execution::no_stop_state_t; |
| 27 | + |
| 28 | +// [stopcallback], class template stop_callback |
| 29 | +export using ::beman::execution::stop_callback; |
| 30 | + |
| 31 | +// [stoptoken.never], class never_stop_token |
| 32 | +export using ::beman::execution::never_stop_token; |
| 33 | + |
| 34 | +// [stoptoken.inplace], class inplace_stop_token |
| 35 | +export using ::beman::execution::inplace_stop_token; |
| 36 | + |
| 37 | +// [stopsource.inplace], class inplace_stop_source |
| 38 | +export using ::beman::execution::inplace_stop_source; |
| 39 | + |
| 40 | +// [stopcallback.inplace], class template inplace_stop_callback |
| 41 | +export using ::beman::execution::inplace_stop_callback; |
| 42 | +export using ::beman::execution::stop_callback_for_t; |
| 43 | + |
| 44 | +#if 0 |
| 45 | + //-dk:TODO enable the execution policies |
| 46 | + export using ::std::is_execution_policy; |
| 47 | + export using ::std::is_execution_policy_v; |
| 48 | + |
| 49 | + export using ::std::execution::sequenced_policy; |
| 50 | + export using ::std::execution::parallel_policy; |
| 51 | + export using ::std::execution::parallel_unsequenced_policy; |
| 52 | + export using ::std::execution::unsequenced_policy; |
| 53 | + |
| 54 | + export using ::std::execution::seq; |
| 55 | + export using ::std::execution::par; |
| 56 | + export using ::std::execution::par_unseq; |
| 57 | + export using ::std::execution::unseq; |
| 58 | +#endif |
| 59 | + |
| 60 | +// [exec.queries], queries |
| 61 | +export using ::beman::execution::forwarding_query_t; |
| 62 | +export using ::beman::execution::get_allocator_t; |
| 63 | +export using ::beman::execution::get_stop_token_t; |
| 64 | + |
| 65 | +export using ::beman::execution::forwarding_query; |
| 66 | +export using ::beman::execution::get_allocator; |
| 67 | +export using ::beman::execution::get_stop_token; |
| 68 | + |
| 69 | +export using ::beman::execution::stop_token_of_t; |
| 70 | + |
| 71 | +export using ::beman::execution::get_domain_t; |
| 72 | +export using ::beman::execution::get_scheduler_t; |
| 73 | +export using ::beman::execution::get_delegation_scheduler_t; |
| 74 | +//-dk:TODO export using ::beman::execution::get_forward_progress_guarantee_t; |
| 75 | +export using ::beman::execution::get_completion_scheduler_t; |
| 76 | + |
| 77 | +export using ::beman::execution::get_domain; |
| 78 | +export using ::beman::execution::get_scheduler; |
| 79 | +export using ::beman::execution::get_delegation_scheduler; |
| 80 | +//-dk:TODO export using ::beman::execution::forward_progress_guarantee; |
| 81 | +//-dk:TODO export using ::beman::execution::get_forward_progress_guarantee; |
| 82 | +export using ::beman::execution::get_completion_scheduler; |
| 83 | + |
| 84 | +export using ::beman::execution::empty_env; |
| 85 | +export using ::beman::execution::get_env_t; |
| 86 | +export using ::beman::execution::get_env; |
| 87 | + |
| 88 | +export using ::beman::execution::env_of_t; |
| 89 | + |
| 90 | +// [exec.domain.default], execution_domains |
| 91 | +export using ::beman::execution::default_domain; |
| 92 | + |
| 93 | +// [exec.sched], schedulers |
| 94 | +export using ::beman::execution::scheduler_t; |
| 95 | +export using ::beman::execution::scheduler; |
| 96 | + |
| 97 | +// [exec.recv], receivers |
| 98 | +export using ::beman::execution::receiver_t; |
| 99 | +export using ::beman::execution::receiver; |
| 100 | +export using ::beman::execution::receiver_of; |
| 101 | + |
| 102 | +export using ::beman::execution::set_value_t; |
| 103 | +export using ::beman::execution::set_error_t; |
| 104 | +export using ::beman::execution::set_stopped_t; |
| 105 | + |
| 106 | +export using ::beman::execution::set_value; |
| 107 | +export using ::beman::execution::set_error; |
| 108 | +export using ::beman::execution::set_stopped; |
| 109 | + |
| 110 | +// [exec.opstate], operation states |
| 111 | +export using ::beman::execution::operation_state_t; |
| 112 | +export using ::beman::execution::operation_state; |
| 113 | +export using ::beman::execution::start_t; |
| 114 | +export using ::beman::execution::start; |
| 115 | + |
| 116 | +// [exec.snd], senders |
| 117 | +export using ::beman::execution::sender_t; |
| 118 | +export using ::beman::execution::sender; |
| 119 | +export using ::beman::execution::sender_in; |
| 120 | +//-dk:TODO export using ::beman::execution::sender_to; |
| 121 | + |
| 122 | +// [exec.getcomplsigs], completion signatures |
| 123 | +export using ::beman::execution::get_completion_signatures_t; |
| 124 | +export using ::beman::execution::get_completion_signatures; |
| 125 | +export using ::beman::execution::completion_signatures_of_t; |
| 126 | +export using ::beman::execution::value_types_of_t; |
| 127 | +export using ::beman::execution::error_types_of_t; |
| 128 | +export using ::beman::execution::sends_stopped; |
| 129 | +export using ::beman::execution::tag_of_t; |
| 130 | + |
| 131 | +// [exec.snd.transform], sender transformations |
| 132 | +export using ::beman::execution::transform_sender; |
| 133 | + |
| 134 | +// [exec.snd.transform.env], environment transformations |
| 135 | +//-dk:TODO export using ::beman::execution::transform_env; |
| 136 | + |
| 137 | +// [exec.snd.apply], sender algorithm application |
| 138 | +export using ::beman::execution::apply_sender; |
| 139 | + |
| 140 | +// [exec.connect], the connect sender algorithm |
| 141 | +export using ::beman::execution::connect_t; |
| 142 | +export using ::beman::execution::connect; |
| 143 | +export using ::beman::execution::connect_result_t; |
| 144 | + |
| 145 | +// [exec.factories], sender factories |
| 146 | +export using ::beman::execution::just_t; |
| 147 | +export using ::beman::execution::just_error_t; |
| 148 | +export using ::beman::execution::just_stopped_t; |
| 149 | +export using ::beman::execution::schedule_t; |
| 150 | + |
| 151 | +export using ::beman::execution::just; |
| 152 | +export using ::beman::execution::just_error; |
| 153 | +export using ::beman::execution::just_stopped; |
| 154 | +export using ::beman::execution::schedule; |
| 155 | +export using ::beman::execution::read_env; |
| 156 | + |
| 157 | +export using ::beman::execution::schedule_result_t; |
| 158 | + |
| 159 | +// [exec.adapt], sender adaptors |
| 160 | +export using ::beman::execution::sender_adaptor_closure; |
| 161 | + |
| 162 | +export using ::beman::execution::starts_on_t; |
| 163 | +export using ::beman::execution::continues_on_t; |
| 164 | +//-dk:TODO export using ::beman::execution::on_t; |
| 165 | +export using ::beman::execution::schedule_from_t; |
| 166 | +export using ::beman::execution::then_t; |
| 167 | +export using ::beman::execution::upon_error_t; |
| 168 | +export using ::beman::execution::upon_stopped_t; |
| 169 | +export using ::beman::execution::let_value_t; |
| 170 | +export using ::beman::execution::let_error_t; |
| 171 | +export using ::beman::execution::let_stopped_t; |
| 172 | +//-dk:TODO export using ::beman::execution::bulk_t; |
| 173 | +//-dk:TODO export using ::beman::execution::split_t; |
| 174 | +export using ::beman::execution::when_all_t; |
| 175 | +export using ::beman::execution::when_all_with_variant_t; |
| 176 | +export using ::beman::execution::into_variant_t; |
| 177 | +//-dk:TODO export using ::beman::execution::stopped_as_optional_t; |
| 178 | +//-dk:TODO export using ::beman::execution::stopped_as_error_t; |
| 179 | + |
| 180 | +export using ::beman::execution::starts_on; |
| 181 | +export using ::beman::execution::continues_on; |
| 182 | +//-dk:TODO export using ::beman::execution::on; |
| 183 | +export using ::beman::execution::schedule_from; |
| 184 | +export using ::beman::execution::then; |
| 185 | +export using ::beman::execution::upon_error; |
| 186 | +export using ::beman::execution::upon_stopped; |
| 187 | +export using ::beman::execution::let_value; |
| 188 | +export using ::beman::execution::let_error; |
| 189 | +export using ::beman::execution::let_stopped; |
| 190 | +//-dk:TODO export using ::beman::execution::bulk; |
| 191 | +//-dk:TODO export using ::beman::execution::split; |
| 192 | +export using ::beman::execution::when_all; |
| 193 | +export using ::beman::execution::when_all_with_variant; |
| 194 | +export using ::beman::execution::into_variant; |
| 195 | +//-dk:TODO export using ::beman::execution::stopped_as_optional; |
| 196 | +//-dk:TODO export using ::beman::execution::stopped_as_error; |
| 197 | + |
| 198 | +// [exec.util.cmplsig] |
| 199 | +export using ::beman::execution::completion_signatures; |
| 200 | + |
| 201 | +// [exec.util.cmplsig.trans] |
| 202 | +//-dk:TODO export using ::beman::execution::transform_completion_signatures; |
| 203 | +//-dk:TODO export using ::beman::execution::transform_completion_signatures_of; |
| 204 | + |
| 205 | +// [exec.run.loop], run_loop |
| 206 | +export using ::beman::execution::run_loop; |
| 207 | + |
| 208 | +// [exec.consumers], consumers |
| 209 | +export using ::beman::execution::sync_wait_t; |
| 210 | +//-dk:TODO export using ::beman::execution::sync_wait_with_variant_t; |
| 211 | + |
| 212 | +export using ::beman::execution::sync_wait; |
| 213 | +//-dk:TODO export using ::beman::execution::sync_wait_with_variant; |
| 214 | + |
| 215 | +// [exec.as.awaitable] |
| 216 | +//-dk:TODO export using ::beman::execution::as_awaitable_t; |
| 217 | +//-dk:TODO export using ::beman::execution::as_awaitable; |
| 218 | + |
| 219 | +// [exec.with.awaitable.senders] |
| 220 | +//-dk:TODO export using ::beman::execution::with_awaitable_senders; |
| 221 | + |
| 222 | +} // namespace beman::execution |
0 commit comments