##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::future_errc

From cppreference.com
< cpp‎ | thread

Defined in header `<future>` |  |
enum class future_errc { broken_promise = /* implementation-defined */, future_already_retrieved = /* implementation-defined */, promise_already_satisfied = /* implementation-defined */, no_state = /* implementation-defined */ }; |  | (since C++11)

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.

### [edit] 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

### [edit] Non-member functions

make_error_code(std::future_errc) (C++11) | constructs a future error code (function) [edit]
make_error_condition(std::future_errc) (C++11) | constructs a future error_condition (function) [edit]

### [edit] Helper classes

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

### [edit] 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 LWG issue @2056 for C++14.

### [edit] Example

| This section is incomplete Reason: no example

### [edit] See also

error_code (C++11) | holds a platform-dependent error code (class) [edit]
error_condition (C++11) | holds a portable error code (class) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/thread/future_errc&oldid=65804"
Category:

- Todo no example