Skip to content

Commit d09c599

Browse files
committed
use the preprocessor to correctly show the STDEXEC namespace in diagnostics
1 parent fb7746c commit d09c599

File tree

16 files changed

+130
-98
lines changed

16 files changed

+130
-98
lines changed

docs/source/user/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ Examples of execution contexts:
4646

4747
.. code-block:: cpp
4848
49-
auto sched = exec::get_parallel_scheduler(); // Obtain the default system scheduler
50-
auto sndr = stdexec::schedule(sched); // Create a sender from the scheduler
49+
auto sched = stdexec::get_parallel_scheduler(); // Obtain the default system scheduler
50+
auto sndr = stdexec::schedule(sched); // Create a sender from the scheduler
5151
5252
The sender you get back from ``stdexec::schedule`` is a factory for operations that,
5353
when started, will immediately call ``set_value()`` on the receiver the operation was

include/exec/detail/system_context_replaceability_api.hpp

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,23 @@
2424

2525
namespace experimental::execution
2626
{
27-
namespace [[deprecated("Use the STDEXEC::parallel_scheduler_replacement namespace "
27+
namespace [[deprecated("Use the " STDEXEC_PP_STRINGIZE(STDEXEC) //
28+
"::parallel_scheduler_replacement namespace "
2829
"instead.")]] system_context_replaceability
2930
{
3031
using STDEXEC::parallel_scheduler_replacement::__parallel_scheduler_backend_factory_t;
3132

3233
/// Interface for the parallel scheduler backend.
33-
using parallel_scheduler_backend //
34-
[[deprecated("Use STDEXEC::parallel_scheduler_replacement::parallel_scheduler_backend "
35-
"instead.")]] = //
34+
using parallel_scheduler_backend //
35+
[[deprecated("Use " STDEXEC_PP_STRINGIZE(STDEXEC) //
36+
"::parallel_scheduler_replacement::parallel_scheduler_backend instead.")]] = //
3637
STDEXEC::parallel_scheduler_replacement::parallel_scheduler_backend;
3738

3839
/// Get the backend for the parallel scheduler.
3940
/// Users might replace this function.
40-
[[deprecated("Use STDEXEC::parallel_scheduler_replacement::query_parallel_scheduler_backend "
41-
"instead.")]]
41+
[[deprecated("Use " STDEXEC_PP_STRINGIZE(STDEXEC) "::parallel_scheduler_replacement::query_"
42+
"parallel_scheduler_backend "
43+
"instead.")]]
4244
inline auto query_parallel_scheduler_backend()
4345
-> std::shared_ptr<STDEXEC::parallel_scheduler_replacement::parallel_scheduler_backend>
4446
{
@@ -53,8 +55,9 @@ namespace experimental::execution
5355
/// Set a factory for the parallel scheduler backend.
5456
/// Can be used to replace the parallel scheduler at runtime.
5557
/// Out of spec.
56-
[[deprecated("Use STDEXEC::parallel_scheduler_replacement::set_parallel_scheduler_backend "
57-
"instead.")]]
58+
[[deprecated("Use " STDEXEC_PP_STRINGIZE(STDEXEC) "::parallel_scheduler_replacement::set_"
59+
"parallel_scheduler_backend "
60+
"instead.")]]
5861
inline auto set_parallel_scheduler_backend(__parallel_scheduler_backend_factory_t __new_factory)
5962
-> __parallel_scheduler_backend_factory_t
6063
{
@@ -64,14 +67,15 @@ namespace experimental::execution
6467

6568
/// Interface for completing a sender operation. Backend will call frontend though this interface
6669
/// for completing the `schedule` and `schedule_bulk` operations.
67-
using receiver
68-
[[deprecated("Use STDEXEC::parallel_scheduler_replacement::receiver_proxy "
69-
"instead.")]] = STDEXEC::parallel_scheduler_replacement::receiver_proxy;
70+
using receiver [[deprecated("Use " STDEXEC_PP_STRINGIZE(STDEXEC) //
71+
"::parallel_scheduler_replacement::receiver_proxy instead.")]] = //
72+
STDEXEC::parallel_scheduler_replacement::receiver_proxy;
7073

7174
/// Receiver for bulk scheduling operations.
72-
using bulk_item_receiver [[deprecated(
73-
"Use STDEXEC::parallel_scheduler_replacement::bulk_item_receiver_proxy "
74-
"instead.")]] = STDEXEC::parallel_scheduler_replacement::bulk_item_receiver_proxy;
75+
using bulk_item_receiver [[deprecated("Use " STDEXEC_PP_STRINGIZE(STDEXEC) //
76+
"::parallel_scheduler_replacement::bulk_item_receiver_"
77+
"proxy instead.")]] = //
78+
STDEXEC::parallel_scheduler_replacement::bulk_item_receiver_proxy;
7579
} // namespace system_context_replaceability
7680
} // namespace experimental::execution
7781

include/exec/env.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,10 @@ namespace experimental::execution
207207

208208
inline constexpr __read_with_default::__read_with_default_t read_with_default{};
209209

210-
[[deprecated("exec::write has been renamed to STDEXEC::write_env")]]
210+
[[deprecated("exec::write has been renamed to " STDEXEC_PP_STRINGIZE(STDEXEC) "::write_env")]]
211211
inline constexpr STDEXEC::__write_env_t write{};
212-
[[deprecated("exec::write_env has been moved to the STDEXEC:: namespace")]]
212+
[[deprecated("exec::write_env has been moved to the " STDEXEC_PP_STRINGIZE(STDEXEC) ":: "
213+
"namespace")]]
213214
inline constexpr STDEXEC::__write_env_t write_env{};
214215

215216
namespace __write_attrs

include/exec/inline_scheduler.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ namespace experimental::execution
2121
{
2222
// A simple scheduler that executes its continuation inline, on the
2323
// thread of the caller of start().
24-
using inline_scheduler
25-
[[deprecated("Use STDEXEC::inline_scheduler instead")]] = STDEXEC::inline_scheduler;
24+
using inline_scheduler [[deprecated("Use " STDEXEC_PP_STRINGIZE(
25+
STDEXEC) "::inline_scheduler instead")]] = STDEXEC::inline_scheduler;
2626
} // namespace experimental::execution
2727

2828
namespace exec = experimental::execution;

include/exec/just_from.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@ namespace experimental::execution
200200
using _completions = STDEXEC::__call_result_t<Fn, _probe_fn>;
201201
static_assert(STDEXEC::__is_instance_of<_completions, STDEXEC::completion_signatures>,
202202
"The function passed to just_from, just_error_from, and just_stopped_from "
203-
"must return an "
204-
"instance of a specialization of STDEXEC::completion_signatures<>.");
203+
"must return an instance of a specialization of " STDEXEC_PP_STRINGIZE(
204+
STDEXEC) "::completion_signatures<>.");
205205
return _sndr<Fn>{
206206
{{}, static_cast<Fn&&>(fn)}
207207
};

include/exec/on.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@ namespace experimental::execution
2121
{
2222
/////////////////////////////////////////////////////////////////////////////
2323
// A scoped version of [execution.senders.adaptors.on]
24-
using on_t [[deprecated("on_t has been moved to the STDEXEC:: namespace")]] = STDEXEC::on_t;
24+
using on_t [[deprecated(
25+
"on_t has been moved to the " STDEXEC_PP_STRINGIZE(STDEXEC) ":: namespace")]] = STDEXEC::on_t;
2526

26-
[[deprecated("on has been moved to the STDEXEC:: namespace")]]
27+
[[deprecated("on has been moved to the " STDEXEC_PP_STRINGIZE(STDEXEC) ":: namespace")]]
2728
inline constexpr STDEXEC::on_t const & on = STDEXEC::on;
2829
} // namespace experimental::execution
2930

include/exec/sequence_senders.hpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,22 @@ STDEXEC_PRAGMA_IGNORE_EDG(not_used_in_template_function_params)
2929
////////////////////////////////////////////////////////////////////////////////
3030
#define STDEXEC_ERROR_SEQUENCE_SENDER_DEFINITION \
3131
"A sequence sender must provide a `subscribe` member function that takes a receiver as an\n" \
32-
"argument and returns an object whose type satisfies `STDEXEC::operation_state`,\n" \
32+
"argument and returns an object whose type satisfies `" STDEXEC_PP_STRINGIZE(STDEXEC) \
33+
"::operation_state`,\n" \
3334
"as shown below:\n" \
3435
"\n" \
3536
" class MySequenceSender\n" \
3637
" {\n" \
3738
" public:\n" \
3839
" using sender_concept = exec::sequence_sender_t;\n" \
3940
" using item_types = exec::item_types<>;\n" \
40-
" using completion_signatures = STDEXEC::completion_signatures<STDEXEC::set_value_t()>;\n" \
41+
" using completion_signatures = " STDEXEC_PP_STRINGIZE(STDEXEC) "::completion_signatures<" \
42+
STDEXEC_PP_STRINGIZE(STDEXEC) "::set_value_t()>;\n" \
4143
"\n" \
4244
" template <class Receiver>\n" \
4345
" struct MyOpState\n" \
4446
" {\n" \
45-
" using operation_state_concept = STDEXEC::operation_state_tag;\n" \
47+
" using operation_state_concept = " STDEXEC_PP_STRINGIZE(STDEXEC) "::operation_state_tag;\n"\
4648
"\n" \
4749
" void start() noexcept\n" \
4850
" {\n" \
@@ -53,7 +55,7 @@ STDEXEC_PRAGMA_IGNORE_EDG(not_used_in_template_function_params)
5355
" Receiver rcvr_;\n" \
5456
" };\n" \
5557
"\n" \
56-
" template <STDEXEC::receiver Receiver>\n" \
58+
" template <" STDEXEC_PP_STRINGIZE(STDEXEC) "::receiver Receiver>\n" \
5759
" auto subscribe(Receiver rcvr) -> MyOpState<Receiver>\n" \
5860
" {\n" \
5961
" return MyOpState<Receiver>{std::move(rcvr)};\n" \
@@ -71,7 +73,8 @@ STDEXEC_PRAGMA_IGNORE_EDG(not_used_in_template_function_params)
7173
////////////////////////////////////////////////////////////////////////////////
7274
#define STDEXEC_ERROR_SUBSCRIBE_DOES_NOT_RETURN_OPERATION_STATE \
7375
"\n" \
74-
"FAILURE: The subscribe customization did not return an `STDEXEC::operation_state`.\n" \
76+
"FAILURE: The subscribe customization did not return an `" STDEXEC_PP_STRINGIZE(STDEXEC) \
77+
"::operation_state`.\n" \
7578
"\n" STDEXEC_ERROR_SEQUENCE_SENDER_DEFINITION
7679

7780
namespace experimental::execution
@@ -780,9 +783,11 @@ namespace experimental::execution
780783

781784
static_assert(sequence_sender<_Sequence>
782785
|| has_sequence_item_types<_Sequence, env_of_t<_Receiver>>,
783-
"The first argument to STDEXEC::subscribe must be a sequence sender");
786+
"The first argument to " STDEXEC_PP_STRINGIZE(STDEXEC) "::subscribe must be "
787+
"a sequence sender");
784788
static_assert(receiver<_Receiver>,
785-
"The second argument to STDEXEC::subscribe must be a receiver");
789+
"The second argument to " STDEXEC_PP_STRINGIZE(STDEXEC) "::subscribe must be "
790+
"a receiver");
786791
#if STDEXEC_ENABLE_EXTRA_TYPE_CHECKING()
787792
static_assert(__type_check_arguments<__tfx_seq_t, _Receiver>());
788793
#endif
@@ -993,7 +998,7 @@ namespace experimental::execution
993998
" template <class... _Env>\n" \
994999
" auto get_item_types(_Env&&...) -> exec::item_types<\n" \
9951000
" // This sequence produces void items...\n" \
996-
" STDEXEC::__call_result_t<STDEXEC::just_t>>\n" \
1001+
" " STDEXEC_PP_STRINGIZE(STDEXEC) "::__call_result_t<" STDEXEC_PP_STRINGIZE(STDEXEC) "::just_t>>\n" \
9971002
" {\n" \
9981003
" return {};\n" \
9991004
" }\n" \

include/exec/windows/windows_thread_pool.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1024,7 +1024,9 @@ namespace experimental::execution
10241024
using __win32::windows_thread_pool;
10251025

10261026
static_assert(STDEXEC::scheduler<decltype(windows_thread_pool{}.get_scheduler())>,
1027-
"windows_thread_pool::scheduler must model STDEXEC::scheduler");
1027+
"windows_thread_pool::scheduler must model " STDEXEC_PP_STRINGIZE(STDEXEC) "::"
1028+
"schedul"
1029+
"er");
10281030
} // namespace experimental::execution
10291031

10301032
namespace exec = experimental::execution;

include/stdexec/__detail/__bulk.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,8 @@ namespace STDEXEC
203203
}
204204

205205
template <sender _Sender, __std::integral _Shape, __std::copy_constructible _Fun>
206-
[[deprecated("The bulk algorithm now requires an execution policy such as STDEXEC::par as an "
207-
"argument.")]]
206+
[[deprecated("The bulk algorithm now requires an execution policy such "
207+
"as " STDEXEC_PP_STRINGIZE(STDEXEC) "::par as an argument.")]]
208208
STDEXEC_ATTRIBUTE(host, device) auto
209209
operator()(_Sender&& __sndr, _Shape __shape, _Fun __fun) const
210210
{
@@ -215,8 +215,8 @@ namespace STDEXEC
215215
}
216216

217217
template <__std::integral _Shape, __std::copy_constructible _Fun>
218-
[[deprecated("The bulk algorithm now requires an execution policy such as STDEXEC::par as an "
219-
"argument.")]]
218+
[[deprecated("The bulk algorithm now requires an execution policy such "
219+
"as " STDEXEC_PP_STRINGIZE(STDEXEC) "::par as an argument.")]]
220220
STDEXEC_ATTRIBUTE(always_inline) auto operator()(_Shape __shape, _Fun __fun) const
221221
{
222222
return (*this)(par, static_cast<_Shape&&>(__shape), static_cast<_Fun&&>(__fun));

include/stdexec/__detail/__completion_behavior.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ namespace STDEXEC
148148
"The __get_completion_behavior query must be noexcept.");
149149
static_assert(__std::convertible_to<__result_t, __completion_behavior::__behavior>,
150150
"The __get_completion_behavior query must return one of the static member "
151-
"variables in STDEXEC::__completion_behavior.");
151+
"variables in " STDEXEC_PP_STRINGIZE(STDEXEC) "::__completion_behavior.");
152152
return __result_t{};
153153
}
154154

0 commit comments

Comments
 (0)