MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / blocking_t

Class blocking_t

3rd/asio-1.24.0/include/asio/execution/blocking.hpp:44–178  ·  view source on GitHub ↗

A property to describe what guarantees an executor makes about the blocking behaviour of their execution functions.

Source from the content-addressed store, hash-verified

42/// A property to describe what guarantees an executor makes about the blocking
43/// behaviour of their execution functions.
44struct blocking_t
45{
46 /// The blocking_t property applies to executors, senders, and schedulers.
47 template <typename T>
48 static constexpr bool is_applicable_property_v =
49 is_executor_v<T> || is_sender_v<T> || is_scheduler_v<T>;
50
51 /// The top-level blocking_t property cannot be required.
52 static constexpr bool is_requirable = false;
53
54 /// The top-level blocking_t property cannot be preferred.
55 static constexpr bool is_preferable = false;
56
57 /// The type returned by queries against an @c any_executor.
58 typedef blocking_t polymorphic_query_result_type;
59
60 /// A sub-property that indicates that invocation of an executor's execution
61 /// function may block pending completion of one or more invocations of the
62 /// submitted function object.
63 struct possibly_t
64 {
65 /// The blocking_t::possibly_t property applies to executors, senders, and
66 /// schedulers.
67 template <typename T>
68 static constexpr bool is_applicable_property_v =
69 is_executor_v<T> || is_sender_v<T> || is_scheduler_v<T>;
70
71 /// The blocking_t::possibly_t property can be required.
72 static constexpr bool is_requirable = true;
73
74 /// The blocking_t::possibly_t property can be preferred.
75 static constexpr bool is_preferable = true;
76
77 /// The type returned by queries against an @c any_executor.
78 typedef blocking_t polymorphic_query_result_type;
79
80 /// Default constructor.
81 constexpr possibly_t();
82
83 /// Get the value associated with a property object.
84 /**
85 * @returns possibly_t();
86 */
87 static constexpr blocking_t value();
88 };
89
90 /// A sub-property that indicates that invocation of an executor's execution
91 /// function shall block until completion of all invocations of the submitted
92 /// function object.
93 struct always_t
94 {
95 /// The blocking_t::always_t property applies to executors, senders, and
96 /// schedulers.
97 template <typename T>
98 static constexpr bool is_applicable_property_v =
99 is_executor_v<T> || is_sender_v<T> || is_scheduler_v<T>;
100
101 /// The blocking_t::always_t property can be required.

Callers 3

io_context.hppFile · 0.85
blocking_t queryMethod · 0.85
query_blockingMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected