diff options
Diffstat (limited to 'src/third_party/boost-1.60.0/boost/thread/futures/future_error_code.hpp')
-rw-r--r-- | src/third_party/boost-1.60.0/boost/thread/futures/future_error_code.hpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/third_party/boost-1.60.0/boost/thread/futures/future_error_code.hpp b/src/third_party/boost-1.60.0/boost/thread/futures/future_error_code.hpp new file mode 100644 index 00000000000..7c8b6f2696a --- /dev/null +++ b/src/third_party/boost-1.60.0/boost/thread/futures/future_error_code.hpp @@ -0,0 +1,61 @@ +// (C) Copyright 2008-10 Anthony Williams +// (C) Copyright 2011-2012,2015 Vicente J. Botet Escriba +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_THREAD_FUTURES_FUTURE_ERROR_CODE_HPP +#define BOOST_THREAD_FUTURES_FUTURE_ERROR_CODE_HPP + +#include <boost/thread/detail/config.hpp> +#include <boost/core/scoped_enum.hpp> +#include <boost/system/error_code.hpp> +#include <boost/type_traits/integral_constant.hpp> + +namespace boost +{ + + //enum class future_errc + BOOST_SCOPED_ENUM_DECLARE_BEGIN(future_errc) + { + broken_promise = 1, + future_already_retrieved, + promise_already_satisfied, + no_state + } + BOOST_SCOPED_ENUM_DECLARE_END(future_errc) + + namespace system + { + template <> + struct BOOST_SYMBOL_VISIBLE is_error_code_enum< ::boost::future_errc> : public true_type {}; + + #ifdef BOOST_NO_CXX11_SCOPED_ENUMS + template <> + struct BOOST_SYMBOL_VISIBLE is_error_code_enum< ::boost::future_errc::enum_type> : public true_type { }; + #endif + } // system + + BOOST_THREAD_DECL + const system::error_category& future_category() BOOST_NOEXCEPT; + + namespace system + { + inline + error_code + make_error_code(future_errc e) BOOST_NOEXCEPT + { + return error_code(underlying_cast<int>(e), boost::future_category()); + } + + inline + error_condition + make_error_condition(future_errc e) BOOST_NOEXCEPT + { + return error_condition(underlying_cast<int>(e), boost::future_category()); + } + } // system +} // boost + +#endif // header |