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
							 |