summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/thread/exceptions.hpp')
-rw-r--r--3rdParty/Boost/src/boost/thread/exceptions.hpp114
1 files changed, 114 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/thread/exceptions.hpp b/3rdParty/Boost/src/boost/thread/exceptions.hpp
new file mode 100644
index 0000000..49e244f
--- /dev/null
+++ b/3rdParty/Boost/src/boost/thread/exceptions.hpp
@@ -0,0 +1,114 @@
+// Copyright (C) 2001-2003
+// William E. Kempf
+// Copyright (C) 2007-8 Anthony Williams
+//
+// 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_EXCEPTIONS_PDM070801_H
+#define BOOST_THREAD_EXCEPTIONS_PDM070801_H
+
+#include <boost/thread/detail/config.hpp>
+
+// pdm: Sorry, but this class is used all over the place & I end up
+// with recursive headers if I don't separate it
+// wek: Not sure why recursive headers would cause compilation problems
+// given the include guards, but regardless it makes sense to
+// seperate this out any way.
+
+#include <string>
+#include <stdexcept>
+
+#include <boost/config/abi_prefix.hpp>
+
+namespace boost
+{
+
+ class BOOST_THREAD_DECL thread_interrupted
+ {};
+
+class BOOST_THREAD_DECL thread_exception : public std::exception
+{
+protected:
+ thread_exception();
+ thread_exception(int sys_err_code);
+
+public:
+ ~thread_exception() throw();
+
+ int native_error() const;
+
+private:
+ int m_sys_err;
+};
+
+ class condition_error:
+ public std::exception
+ {
+ public:
+ const char* what() const throw()
+ {
+ return "Condition error";
+ }
+ };
+
+
+class BOOST_THREAD_DECL lock_error : public thread_exception
+{
+public:
+ lock_error();
+ lock_error(int sys_err_code);
+ ~lock_error() throw();
+
+ virtual const char* what() const throw();
+};
+
+class BOOST_THREAD_DECL thread_resource_error : public thread_exception
+{
+public:
+ thread_resource_error();
+ thread_resource_error(int sys_err_code);
+ ~thread_resource_error() throw();
+
+ virtual const char* what() const throw();
+};
+
+class BOOST_THREAD_DECL unsupported_thread_option : public thread_exception
+{
+public:
+ unsupported_thread_option();
+ unsupported_thread_option(int sys_err_code);
+ ~unsupported_thread_option() throw();
+
+ virtual const char* what() const throw();
+};
+
+class BOOST_THREAD_DECL invalid_thread_argument : public thread_exception
+{
+public:
+ invalid_thread_argument();
+ invalid_thread_argument(int sys_err_code);
+ ~invalid_thread_argument() throw();
+
+ virtual const char* what() const throw();
+};
+
+class BOOST_THREAD_DECL thread_permission_error : public thread_exception
+{
+public:
+ thread_permission_error();
+ thread_permission_error(int sys_err_code);
+ ~thread_permission_error() throw();
+
+ virtual const char* what() const throw();
+};
+
+} // namespace boost
+
+#include <boost/config/abi_suffix.hpp>
+
+#endif // BOOST_THREAD_CONFIG_PDM070801_H
+
+// Change log:
+// 3 Jan 03 WEKEMPF Modified for DLL implementation.
+