62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //  (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
 | 
