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)