Getting started on <future>
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112061 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/future b/include/future
index 54b751f..c898648 100644
--- a/include/future
+++ b/include/future
@@ -463,6 +463,8 @@
};
+template <> struct is_error_code_enum<future_errc> : public true_type {};
+
//enum class launch
struct launch
{
@@ -495,6 +497,32 @@
};
+const error_category& future_category();
+
+inline _LIBCPP_INLINE_VISIBILITY
+error_code
+make_error_code(future_errc __e)
+{
+ return error_code(static_cast<int>(__e), future_category());
+}
+
+inline _LIBCPP_INLINE_VISIBILITY
+error_condition
+make_error_condition(future_errc __e)
+{
+ return error_condition(static_cast<int>(__e), future_category());
+}
+
+class future_error
+ : public logic_error
+{
+ error_code __ec_;
+public:
+ future_error(error_code __ec);
+
+ const error_code& code() const throw() {return __ec_;}
+};
+
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_FUTURE