std::future_errc

< cpp‎ | thread
 
 
线程支持库
线程
(C++11)
(C++20)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
互斥
(C++11)
通用锁管理
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
条件变量
(C++11)
信号量
闩与屏障
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
(C++11)
future_errc
(C++11)
 
std::future_errc
 
定义于头文件 <future>
enum class future_errc {

    broken_promise             = /* implementation-defined */,
    future_already_retrieved   = /* implementation-defined */,
    promise_already_satisfied  = /* implementation-defined */,
    no_state                   = /* implementation-defined */

};
(C++11 起)

有作用域枚举 std::future_errc 定义 std::future 及相关类于 std::future_error 异常对象中报告的错误码。只要求四个错误码,尽管实现可以定义额外的错误码。因为提供了 std::is_error_code_enum 的恰当特化,故 std::future_errc 类型值可隐式转换为 std::error_code

所有错误码均相异且非零。 (C++14 起)

成员常量

 
常量 解释
broken_promise 异步任务抛弃其共享状态
future_already_retrieved 共享状态的内容已通过 std::future 访问
promise_already_satisfied 试图两次存储值于共享状态
no_state 试图访问无关联共享状态的 std::promisestd::future

非成员函数

构造一个 future error_code
(函数)
构造一个 future error_condition
(函数)

帮助类

扩展类型特性 std::is_error_code_enum 以鉴别 future 错误码
(类模板)

注意

C++11 中, broken_promise 曾被指定等于零,不在意 std::error_code/std::error_condition 用零表示“无错误”。这在 C++14 中得到修正。

示例

参阅

保有依赖于平台的错误码
(类)
保有可移植的错误码
(类)