Namespaces
Variants

Experimental library header <experimental/execution>

From cppreference.net
Standard library headers
Experimental library headers
Execution P2300
<experimental/execution>
Filesystem TS
<experimental/filesystem>
Parallelism TS (v1, v2)
experimental/algorithm
experimental/execution_policy
experimental/exception_list
experimental/numeric
<experimental/simd>
experimental/task_block
Library Fundamentals TS (v1, v2, v3)
experimental/algorithm
<experimental/any>
experimental/array
experimental/chrono
experimental/deque
experimental/forward_list
<experimental/functional>
experimental/future
experimental/iterator
experimental/list
experimental/map
experimental/memory
<experimental/memory_resource>
experimental/numeric
<experimental/optional>
experimental/propagate_const
experimental/random
experimental/ratio
experimental/regex
experimental/scope
experimental/set
experimental/source_location
experimental/string
<experimental/string_view>
experimental/system_error
experimental/tuple
experimental/type_traits
experimental/unordered_map
experimental/unordered_set
experimental/utility
experimental/vector

Concurrency TS
experimental/atomic
experimental/barrier
experimental/future
experimental/latch
Ranges TS
Coroutines TS
experimental/coroutine
Networking TS
experimental/buffer
experimental/executor
experimental/internet
experimental/io_context
<experimental/net>
experimental/netfwd
experimental/socket
experimental/timer
Reflection TS
<experimental/reflect>

此头文件属于基于 P2300R7 执行 库的一部分。

包含文件

概要

namespace std {
  // 辅助概念
  template<class T>
    concept /*movable-value*/ = /*see-below*/; // 仅用于说明
  template<class From, class To>
    concept /*decays-to*/ = same_as<decay_t<From>, To>; // 仅用于说明
  template<class T>
    concept /*class-type*/ = /*decays-to*/<T, T> && is_class_v<T>;  // 仅用于说明
  // 可查询对象
  template<class T>
    concept queryable = destructible;
  // 查询
  namespace queries { // 仅用于说明
    struct forwarding_query_t;
    struct get_allocator_t;
    struct get_stop_token_t;
  }
  using queries::forwarding_query_t;
  using queries::get_allocator_t;
  using queries::get_stop_token_t;
  inline constexpr forwarding_query_t forwarding_query{};
  inline constexpr get_allocator_t get_allocator{};
  inline constexpr get_stop_token_t get_stop_token{};
  template<class T>
    using stop_token_of_t =
      remove_cvref_t<decltype(get_stop_token(declval<T>()))>;
  template<class T>
    concept /*forwarding-query*/ = // 仅用于说明
      forwarding_query(T{});
  namespace /*exec-envs*/ { // 仅用于说明
    struct empty_env {};
    struct get_env_t;
  }
  using /*exec-envs*/::empty_env;
  using /*exec-envs*/::get_env_t;
  inline constexpr get_env_t get_env {};
  template<class T>
    using env_of_t = decltype(get_env(declval<T>()));
}
namespace std::execution {
  // 查询
  enum class forward_progress_guarantee;
  namespace queries { // 仅用于说明
    struct get_scheduler_t;
    struct get_delegatee_scheduler_t;
    struct get_forward_progress_guarantee_t;
    template<class CPO>
      struct get_completion_scheduler_t;
  }
  using queries::get_scheduler_t;
  using queries::get_delegatee_scheduler_t;
  using queries::get_forward_progress_guarantee_t;
  using queries::get_completion_scheduler_t;
  inline constexpr get_scheduler_t get_scheduler{};
  inline constexpr get_delegatee_scheduler_t get_delegatee_scheduler{};
  inline constexpr get_forward_progress_guarantee_t get_forward_progress_guarantee{};
  template<class CPO>
    inline constexpr get_completion_scheduler_t<CPO> get_completion_scheduler{};
  // 调度器
  template<class S>
    concept scheduler = /*see-below*/;
  // 接收器
  template<class R>
    inline constexpr bool enable_receiver = /*see-below*/;
  template<class R>
    concept receiver = /*see-below*/;
  template<class R, class Completions>
    concept receiver_of = /*see-below*/;
  namespace receivers { // 仅用于说明
    struct set_value_t;
    struct set_error_t;
    struct set_stopped_t;
  }
  using receivers::set_value_t;
  using receivers::set_error_t;
  using receivers::set_stopped_t;
  inline constexpr set_value_t set_value{};
  inline constexpr set_error_t set_error{};
  inline constexpr set_stopped_t set_stopped{};
  // 操作状态
  template<class O>
    concept operation_state = /*see-below*/;
  namespace /*op-state*/ { // 仅用于说明
    struct start_t;
  }
  using /*op-state*/::start_t;
  inline constexpr start_t start{};
  // 发送器
  template<class S>
    inline constexpr bool enable_sender = /* 见描述 */;
  template<class S>
    concept sender = /*see-below*/;
  template<class S, class E =</span