table of contents
std::future_errc(3) | C++ Standard Libary | std::future_errc(3) |
NAME¶
std::future_errc - std::future_errc
Synopsis¶
Defined in header <future>
enum class future_errc {
broken_promise = /* implementation-defined */,
future_already_retrieved = /* implementation-defined */, (since C++11)
promise_already_satisfied = /* implementation-defined */,
no_state = /* implementation-defined */
};
The scoped enumeration std::future_errc defines the error codes reported by
std::future and related classes in std::future_error exception objects. Only
four
error codes are required, although the implementation may define additional
error
codes. Because the appropriate specialization of std::is_error_code_enum is
provided, values of type std::future_errc are implicitly convertible to
std::error_code.
All error codes are distinct and non-zero.
Member constants¶
Constant Explanation
broken_promise the asynchronous task abandoned its shared state
future_already_retrieved the contents of shared state were already accessed
through
std::future
promise_already_satisfied attempt to store a value in the shared state twice
no_state attempt to access std::promise or std::future without an
associated shared state
Non-member functions¶
make_error_code(std::future_errc) constructs a future error code
(C++11) (function)
make_error_condition(std::future_errc) constructs a future error_condition
(C++11) (function)
Helper classes¶
is_error_code_enum<std::future_errc> extends the type trait
std::is_error_code_enum
(C++11) to identify future error codes
(class template)
Example¶
This section is incomplete
Reason: no example
Defect reports
The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.
DR Applied to Behavior as published Correct behavior
LWG 2056 C++11 broken_promise was specified to be zero which specified to be
is conventionally used to mean "no error" non-zero
See also¶
error_code holds a platform-dependent error code
(C++11) (class)
error_condition holds a portable error code
(C++11) (class)
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |