File indexing completed on 2025-07-30 08:46:16
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef __TBB__exception_H
0018 #define __TBB__exception_H
0019
0020 #include "_config.h"
0021
0022 #include <new> // std::bad_alloc
0023 #include <exception> // std::exception
0024 #include <stdexcept> // std::runtime_error
0025
0026 namespace tbb {
0027 namespace detail {
0028 inline namespace d0 {
0029 enum class exception_id {
0030 bad_alloc = 1,
0031 bad_last_alloc,
0032 user_abort,
0033 nonpositive_step,
0034 out_of_range,
0035 reservation_length_error,
0036 missing_wait,
0037 invalid_load_factor,
0038 invalid_key,
0039 bad_tagged_msg_cast,
0040 unsafe_wait,
0041 last_entry
0042 };
0043 }
0044
0045 #if _MSC_VER
0046 #pragma warning(disable: 4275)
0047 #endif
0048
0049 namespace r1 {
0050
0051 class TBB_EXPORT bad_last_alloc : public std::bad_alloc {
0052 public:
0053 const char* __TBB_EXPORTED_METHOD what() const noexcept(true) override;
0054 };
0055
0056
0057 class TBB_EXPORT user_abort : public std::exception {
0058 public:
0059 const char* __TBB_EXPORTED_METHOD what() const noexcept(true) override;
0060 };
0061
0062
0063 class TBB_EXPORT missing_wait : public std::exception {
0064 public:
0065 const char* __TBB_EXPORTED_METHOD what() const noexcept(true) override;
0066 };
0067
0068
0069 class TBB_EXPORT unsafe_wait : public std::runtime_error {
0070 public:
0071 unsafe_wait(const char* msg) : std::runtime_error(msg) {}
0072 };
0073
0074
0075
0076
0077 TBB_EXPORT void __TBB_EXPORTED_FUNC throw_exception ( exception_id );
0078 }
0079
0080 inline namespace d0 {
0081 using r1::throw_exception;
0082 }
0083
0084 }
0085 }
0086
0087 #endif
0088