1
2// Copyright Oliver Kowalke 2009.
3// Distributed under the Boost Software License, Version 1.0.
4// (See accompanying file LICENSE_1_0.txt or copy at
5// http://www.boost.org/LICENSE_1_0.txt)
6
7#include "boost/coroutine/exceptions.hpp"
8
9namespace boost {
10namespace coroutines {
11
12class coroutine_error_category : public system::error_category
13{
14public:
15 virtual const char* name() const BOOST_NOEXCEPT
16 { return "coroutine"; }
17
18 virtual std::string message( int ev) const
19 {
20 switch (BOOST_SCOPED_ENUM_NATIVE(coroutine_errc)(ev))
21 {
22 case coroutine_errc::no_data:
23 return std::string("Operation not permitted because coroutine "
24 "has no valid result.");
25 }
26 return std::string("unspecified coroutine_errc value\n");
27 }
28};
29
30BOOST_COROUTINES_DECL
31system::error_category const& coroutine_category() BOOST_NOEXCEPT
32{
33 static coroutines::coroutine_error_category cat;
34 return cat;
35}
36
37}}
38

source code of boost/libs/coroutine/src/exceptions.cpp