Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/boost/thread/exceptions.hpp @ 56

Last change on this file since 56 was 29, checked in by landauf, 17 years ago

updated boost from 1_33_1 to 1_34_1

File size: 2.2 KB
Line 
1// Copyright (C) 2001-2003
2// William E. Kempf
3//
4//  Distributed under the Boost Software License, Version 1.0. (See accompanying
5//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7#ifndef BOOST_THREAD_EXCEPTIONS_PDM070801_H
8#define BOOST_THREAD_EXCEPTIONS_PDM070801_H
9
10#include <boost/thread/detail/config.hpp>
11
12//  pdm: Sorry, but this class is used all over the place & I end up
13//       with recursive headers if I don't separate it
14//  wek: Not sure why recursive headers would cause compilation problems
15//       given the include guards, but regardless it makes sense to
16//       seperate this out any way.
17
18#include <string>
19#include <stdexcept>
20
21namespace boost {
22
23class BOOST_THREAD_DECL thread_exception : public std::exception
24{
25protected:
26    thread_exception();
27    thread_exception(int sys_err_code);
28
29public:
30    ~thread_exception() throw();
31
32    int native_error() const;
33
34private:
35    int m_sys_err;
36};
37
38class BOOST_THREAD_DECL lock_error : public thread_exception
39{
40public:
41    lock_error();
42    lock_error(int sys_err_code);
43    ~lock_error() throw();
44
45    virtual const char* what() const throw();
46};
47
48class BOOST_THREAD_DECL thread_resource_error : public thread_exception
49{
50public:
51    thread_resource_error();
52    thread_resource_error(int sys_err_code);
53    ~thread_resource_error() throw();
54
55    virtual const char* what() const throw();
56};
57
58class BOOST_THREAD_DECL unsupported_thread_option : public thread_exception
59{
60public:
61    unsupported_thread_option();
62    unsupported_thread_option(int sys_err_code);
63    ~unsupported_thread_option() throw();
64
65    virtual const char* what() const throw();
66};
67
68class BOOST_THREAD_DECL invalid_thread_argument : public thread_exception
69{
70public:
71    invalid_thread_argument();
72    invalid_thread_argument(int sys_err_code);
73    ~invalid_thread_argument() throw();
74
75    virtual const char* what() const throw();
76};
77
78class BOOST_THREAD_DECL thread_permission_error : public thread_exception
79{
80public:
81    thread_permission_error();
82    thread_permission_error(int sys_err_code);
83    ~thread_permission_error() throw();
84
85    virtual const char* what() const throw();
86};
87
88} // namespace boost
89
90#endif // BOOST_THREAD_CONFIG_PDM070801_H
91
92// Change log:
93//    3 Jan 03  WEKEMPF Modified for DLL implementation.
94
Note: See TracBrowser for help on using the repository browser.