std::future_errc (3) - Linux Manuals

std::future_errc: std::future_errc

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. (since C++14)

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
                                       (function)
(C++11)


make_error_condition(std::future_errc) constructs a future error_condition
                                       (function)
(C++11)

Helper classes


is_error_code_enum<std::future_errc> extends the type trait std::is_error_code_enum to identify future error codes
                                     (class template)
(C++11)

Notes


In C++11, broken_promise was specified to equal zero despite std::error_code/std::error_condition using zero to mean "no error". This was fixed in C++14.

Example


 This section is incomplete
 Reason: no example

See also


error_code holds a platform-dependent error code
                (class)
(C++11)


error_condition holds a portable error code
                (class)
(C++11)