34 #ifndef _STDEXCEPT_THROWFWD_H 35 #define _STDEXCEPT_THROWFWD_H 1 40 namespace std _GLIBCXX_VISIBILITY(default)
42 _GLIBCXX_BEGIN_NAMESPACE_VERSION
45 #if (__cpp_exceptions && __cplusplus > 202302L \ 46 && __cpp_constexpr_exceptions >= 202411L) 48 [[noreturn, __gnu__::__always_inline__, __gnu__::__cold__]] constexpr
void 49 __throw_logic_error(
const char*);
50 [[noreturn, __gnu__::__always_inline__, __gnu__::__cold__]] constexpr
void 51 __throw_domain_error(
const char*);
52 [[noreturn, __gnu__::__always_inline__, __gnu__::__cold__]] constexpr
void 53 __throw_invalid_argument(
const char*);
54 [[noreturn, __gnu__::__always_inline__, __gnu__::__cold__]] constexpr
void 55 __throw_length_error(
const char*);
56 [[noreturn, __gnu__::__always_inline__, __gnu__::__cold__]] constexpr
void 57 __throw_out_of_range(
const char*);
58 template <
typename... _Args>
59 [[noreturn, __gnu__::__always_inline__, __gnu__::__cold__]] constexpr
void 60 __throw_out_of_range_fmt(
const char* __s, _Args... __args);
61 [[noreturn, __gnu__::__always_inline__, __gnu__::__cold__]] constexpr
void 62 __throw_runtime_error(
const char*);
63 [[noreturn, __gnu__::__always_inline__, __gnu__::__cold__]] constexpr
void 64 __throw_overflow_error(
const char*);
65 [[noreturn, __gnu__::__always_inline__, __gnu__::__cold__]] constexpr
void 66 __throw_underflow_error(
const char*);
70 __throw_logic_error(
const char*) __attribute__((__noreturn__,__cold__));
73 __throw_domain_error(
const char*) __attribute__((__noreturn__,__cold__));
76 __throw_invalid_argument(
const char*) __attribute__((__noreturn__,__cold__));
79 __throw_length_error(
const char*) __attribute__((__noreturn__,__cold__));
82 __throw_out_of_range(
const char*) __attribute__((__noreturn__,__cold__));
85 __throw_out_of_range_fmt(
const char*, ...)
86 __attribute__((__noreturn__,__cold__,__format__(__gnu_printf__, 1, 2)));
89 __throw_runtime_error(const
char*) __attribute__((__noreturn__,__cold__));
92 __throw_overflow_error(const
char*) __attribute__((__noreturn__,__cold__));
95 __throw_underflow_error(const
char*) __attribute__((__noreturn__,__cold__));
100 __attribute__((__noreturn__))
inline void 101 __throw_invalid_argument(
const char*)
102 { std::__terminate(); }
104 __attribute__((__noreturn__))
inline void 105 __throw_out_of_range(
const char*)
106 { std::__terminate(); }
108 __attribute__((__noreturn__))
inline void 109 __throw_out_of_range_fmt(
const char*, ...)
110 { std::__terminate(); }
112 __attribute__((__noreturn__))
inline void 113 __throw_runtime_error(
const char*)
114 { std::__terminate(); }
116 __attribute__((__noreturn__))
inline void 117 __throw_overflow_error(
const char*)
118 { std::__terminate(); }
122 _GLIBCXX_END_NAMESPACE_VERSION
ISO C++ entities toplevel namespace is std.