mirror of
https://github.com/yuzu-emu/ext-boost.git
synced 2025-01-05 16:55:34 +00:00
99 lines
2.4 KiB
C++
99 lines
2.4 KiB
C++
// (C) Copyright 2008-10 Anthony Williams
|
|
// (C) Copyright 2011-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_HPP
|
|
#define BOOST_THREAD_FUTURES_FUTURE_ERROR_HPP
|
|
|
|
#include <boost/thread/detail/config.hpp>
|
|
|
|
#include <boost/thread/futures/future_error_code.hpp>
|
|
#include <boost/system/error_code.hpp>
|
|
|
|
#include <stdexcept>
|
|
|
|
namespace boost
|
|
{
|
|
class BOOST_SYMBOL_VISIBLE future_error
|
|
: public std::logic_error
|
|
{
|
|
system::error_code ec_;
|
|
public:
|
|
future_error(system::error_code ec)
|
|
: logic_error(ec.message()),
|
|
ec_(ec)
|
|
{
|
|
}
|
|
|
|
const system::error_code& code() const BOOST_NOEXCEPT
|
|
{
|
|
return ec_;
|
|
}
|
|
};
|
|
|
|
class BOOST_SYMBOL_VISIBLE future_uninitialized:
|
|
public future_error
|
|
{
|
|
public:
|
|
future_uninitialized() :
|
|
future_error(system::make_error_code(future_errc::no_state))
|
|
{}
|
|
};
|
|
class BOOST_SYMBOL_VISIBLE broken_promise:
|
|
public future_error
|
|
{
|
|
public:
|
|
broken_promise():
|
|
future_error(system::make_error_code(future_errc::broken_promise))
|
|
{}
|
|
};
|
|
class BOOST_SYMBOL_VISIBLE future_already_retrieved:
|
|
public future_error
|
|
{
|
|
public:
|
|
future_already_retrieved():
|
|
future_error(system::make_error_code(future_errc::future_already_retrieved))
|
|
{}
|
|
};
|
|
class BOOST_SYMBOL_VISIBLE promise_already_satisfied:
|
|
public future_error
|
|
{
|
|
public:
|
|
promise_already_satisfied():
|
|
future_error(system::make_error_code(future_errc::promise_already_satisfied))
|
|
{}
|
|
};
|
|
|
|
class BOOST_SYMBOL_VISIBLE task_already_started:
|
|
public future_error
|
|
{
|
|
public:
|
|
task_already_started():
|
|
future_error(system::make_error_code(future_errc::promise_already_satisfied))
|
|
{}
|
|
};
|
|
|
|
class BOOST_SYMBOL_VISIBLE task_moved:
|
|
public future_error
|
|
{
|
|
public:
|
|
task_moved():
|
|
future_error(system::make_error_code(future_errc::no_state))
|
|
{}
|
|
};
|
|
|
|
class promise_moved:
|
|
public future_error
|
|
{
|
|
public:
|
|
promise_moved():
|
|
future_error(system::make_error_code(future_errc::no_state))
|
|
{}
|
|
};
|
|
}
|
|
|
|
#endif // header
|