1951a39d68df598db08dfced8b4707755864a0492Ying Wang/*
2951a39d68df598db08dfced8b4707755864a0492Ying Wang * Copyright (c) 1996,1997
3951a39d68df598db08dfced8b4707755864a0492Ying Wang * Silicon Graphics Computer Systems, Inc.
4951a39d68df598db08dfced8b4707755864a0492Ying Wang *
5951a39d68df598db08dfced8b4707755864a0492Ying Wang * Copyright (c) 1999
6951a39d68df598db08dfced8b4707755864a0492Ying Wang * Boris Fomitchev
7951a39d68df598db08dfced8b4707755864a0492Ying Wang *
8951a39d68df598db08dfced8b4707755864a0492Ying Wang * This material is provided "as is", with absolutely no warranty expressed
9951a39d68df598db08dfced8b4707755864a0492Ying Wang * or implied. Any use is at your own risk.
10951a39d68df598db08dfced8b4707755864a0492Ying Wang *
11951a39d68df598db08dfced8b4707755864a0492Ying Wang * Permission to use or copy this software for any purpose is hereby granted
12951a39d68df598db08dfced8b4707755864a0492Ying Wang * without fee, provided the above notices are retained on all copies.
13951a39d68df598db08dfced8b4707755864a0492Ying Wang * Permission to modify the code and to distribute modified code is granted,
14951a39d68df598db08dfced8b4707755864a0492Ying Wang * provided the above notices are retained, and a notice that the code was
15951a39d68df598db08dfced8b4707755864a0492Ying Wang * modified is included with the above copyright notice.
16951a39d68df598db08dfced8b4707755864a0492Ying Wang *
17951a39d68df598db08dfced8b4707755864a0492Ying Wang */
18951a39d68df598db08dfced8b4707755864a0492Ying Wang
19951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _STLP_INTERNAL_STDEXCEPT
20951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _STLP_INTERNAL_STDEXCEPT
21951a39d68df598db08dfced8b4707755864a0492Ying Wang
22951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _STLP_INTERNAL_STDEXCEPT_BASE
23951a39d68df598db08dfced8b4707755864a0492Ying Wang#  include <stl/_stdexcept_base.h>
24951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
25951a39d68df598db08dfced8b4707755864a0492Ying Wang
26951a39d68df598db08dfced8b4707755864a0492Ying Wang#if !defined (_STLP_USE_NATIVE_STDEXCEPT) || defined (_STLP_USE_OWN_NAMESPACE)
27951a39d68df598db08dfced8b4707755864a0492Ying Wang
28951a39d68df598db08dfced8b4707755864a0492Ying Wang#  if defined(_STLP_USE_EXCEPTIONS) || \
29951a39d68df598db08dfced8b4707755864a0492Ying Wang    !(defined(_MIPS_SIM) && defined(_ABIO32) && (_MIPS_SIM == _ABIO32))
30951a39d68df598db08dfced8b4707755864a0492Ying Wang
31951a39d68df598db08dfced8b4707755864a0492Ying Wang_STLP_BEGIN_NAMESPACE
32951a39d68df598db08dfced8b4707755864a0492Ying Wang
33951a39d68df598db08dfced8b4707755864a0492Ying Wangclass _STLP_CLASS_DECLSPEC logic_error : public __Named_exception {
34951a39d68df598db08dfced8b4707755864a0492Ying Wangpublic:
35951a39d68df598db08dfced8b4707755864a0492Ying Wang  logic_error(const string& __s) : __Named_exception(__s) {}
36951a39d68df598db08dfced8b4707755864a0492Ying Wang#    ifndef _STLP_USE_NO_IOSTREAMS
37951a39d68df598db08dfced8b4707755864a0492Ying Wang  ~logic_error() _STLP_NOTHROW_INHERENTLY;
38951a39d68df598db08dfced8b4707755864a0492Ying Wang#    endif
39951a39d68df598db08dfced8b4707755864a0492Ying Wang};
40951a39d68df598db08dfced8b4707755864a0492Ying Wang
41951a39d68df598db08dfced8b4707755864a0492Ying Wangclass _STLP_CLASS_DECLSPEC runtime_error : public __Named_exception {
42951a39d68df598db08dfced8b4707755864a0492Ying Wangpublic:
43951a39d68df598db08dfced8b4707755864a0492Ying Wang  runtime_error(const string& __s) : __Named_exception(__s) {}
44951a39d68df598db08dfced8b4707755864a0492Ying Wang#    ifndef _STLP_USE_NO_IOSTREAMS
45951a39d68df598db08dfced8b4707755864a0492Ying Wang  ~runtime_error() _STLP_NOTHROW_INHERENTLY;
46951a39d68df598db08dfced8b4707755864a0492Ying Wang#    endif
47951a39d68df598db08dfced8b4707755864a0492Ying Wang};
48951a39d68df598db08dfced8b4707755864a0492Ying Wang
49951a39d68df598db08dfced8b4707755864a0492Ying Wangclass _STLP_CLASS_DECLSPEC domain_error : public logic_error {
50951a39d68df598db08dfced8b4707755864a0492Ying Wangpublic:
51951a39d68df598db08dfced8b4707755864a0492Ying Wang  domain_error(const string& __arg) : logic_error(__arg) {}
52951a39d68df598db08dfced8b4707755864a0492Ying Wang#    ifndef _STLP_USE_NO_IOSTREAMS
53951a39d68df598db08dfced8b4707755864a0492Ying Wang  ~domain_error() _STLP_NOTHROW_INHERENTLY;
54951a39d68df598db08dfced8b4707755864a0492Ying Wang#    endif
55951a39d68df598db08dfced8b4707755864a0492Ying Wang};
56951a39d68df598db08dfced8b4707755864a0492Ying Wang
57951a39d68df598db08dfced8b4707755864a0492Ying Wangclass _STLP_CLASS_DECLSPEC invalid_argument : public logic_error {
58951a39d68df598db08dfced8b4707755864a0492Ying Wangpublic:
59951a39d68df598db08dfced8b4707755864a0492Ying Wang  invalid_argument(const string& __arg) : logic_error(__arg) {}
60951a39d68df598db08dfced8b4707755864a0492Ying Wang#    ifndef _STLP_USE_NO_IOSTREAMS
61951a39d68df598db08dfced8b4707755864a0492Ying Wang  ~invalid_argument() _STLP_NOTHROW_INHERENTLY;
62951a39d68df598db08dfced8b4707755864a0492Ying Wang#    endif
63951a39d68df598db08dfced8b4707755864a0492Ying Wang};
64951a39d68df598db08dfced8b4707755864a0492Ying Wang
65951a39d68df598db08dfced8b4707755864a0492Ying Wangclass _STLP_CLASS_DECLSPEC length_error : public logic_error {
66951a39d68df598db08dfced8b4707755864a0492Ying Wangpublic:
67951a39d68df598db08dfced8b4707755864a0492Ying Wang  length_error(const string& __arg) : logic_error(__arg) {}
68951a39d68df598db08dfced8b4707755864a0492Ying Wang#    ifndef _STLP_USE_NO_IOSTREAMS
69951a39d68df598db08dfced8b4707755864a0492Ying Wang  ~length_error() _STLP_NOTHROW_INHERENTLY;
70951a39d68df598db08dfced8b4707755864a0492Ying Wang#    endif
71951a39d68df598db08dfced8b4707755864a0492Ying Wang};
72951a39d68df598db08dfced8b4707755864a0492Ying Wang
73951a39d68df598db08dfced8b4707755864a0492Ying Wangclass _STLP_CLASS_DECLSPEC out_of_range : public logic_error {
74951a39d68df598db08dfced8b4707755864a0492Ying Wangpublic:
75951a39d68df598db08dfced8b4707755864a0492Ying Wang  out_of_range(const string& __arg) : logic_error(__arg) {}
76951a39d68df598db08dfced8b4707755864a0492Ying Wang#    ifndef _STLP_USE_NO_IOSTREAMS
77951a39d68df598db08dfced8b4707755864a0492Ying Wang  ~out_of_range() _STLP_NOTHROW_INHERENTLY;
78951a39d68df598db08dfced8b4707755864a0492Ying Wang#    endif
79951a39d68df598db08dfced8b4707755864a0492Ying Wang};
80951a39d68df598db08dfced8b4707755864a0492Ying Wang
81951a39d68df598db08dfced8b4707755864a0492Ying Wangclass _STLP_CLASS_DECLSPEC range_error : public runtime_error {
82951a39d68df598db08dfced8b4707755864a0492Ying Wangpublic:
83951a39d68df598db08dfced8b4707755864a0492Ying Wang  range_error(const string& __arg) : runtime_error(__arg) {}
84951a39d68df598db08dfced8b4707755864a0492Ying Wang#    ifndef _STLP_USE_NO_IOSTREAMS
85951a39d68df598db08dfced8b4707755864a0492Ying Wang  ~range_error() _STLP_NOTHROW_INHERENTLY;
86951a39d68df598db08dfced8b4707755864a0492Ying Wang#    endif
87951a39d68df598db08dfced8b4707755864a0492Ying Wang};
88951a39d68df598db08dfced8b4707755864a0492Ying Wang
89951a39d68df598db08dfced8b4707755864a0492Ying Wangclass _STLP_CLASS_DECLSPEC overflow_error : public runtime_error {
90951a39d68df598db08dfced8b4707755864a0492Ying Wangpublic:
91951a39d68df598db08dfced8b4707755864a0492Ying Wang  overflow_error(const string& __arg) : runtime_error(__arg) {}
92951a39d68df598db08dfced8b4707755864a0492Ying Wang#    ifndef _STLP_USE_NO_IOSTREAMS
93951a39d68df598db08dfced8b4707755864a0492Ying Wang  ~overflow_error() _STLP_NOTHROW_INHERENTLY;
94951a39d68df598db08dfced8b4707755864a0492Ying Wang#    endif
95951a39d68df598db08dfced8b4707755864a0492Ying Wang};
96951a39d68df598db08dfced8b4707755864a0492Ying Wang
97951a39d68df598db08dfced8b4707755864a0492Ying Wangclass _STLP_CLASS_DECLSPEC underflow_error : public runtime_error {
98951a39d68df598db08dfced8b4707755864a0492Ying Wangpublic:
99951a39d68df598db08dfced8b4707755864a0492Ying Wang  underflow_error(const string& __arg) : runtime_error(__arg) {}
100951a39d68df598db08dfced8b4707755864a0492Ying Wang#    ifndef _STLP_USE_NO_IOSTREAMS
101951a39d68df598db08dfced8b4707755864a0492Ying Wang  ~underflow_error() _STLP_NOTHROW_INHERENTLY;
102951a39d68df598db08dfced8b4707755864a0492Ying Wang#    endif
103951a39d68df598db08dfced8b4707755864a0492Ying Wang};
104951a39d68df598db08dfced8b4707755864a0492Ying Wang
105951a39d68df598db08dfced8b4707755864a0492Ying Wang_STLP_END_NAMESPACE
106951a39d68df598db08dfced8b4707755864a0492Ying Wang
107951a39d68df598db08dfced8b4707755864a0492Ying Wang#  endif
108951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
109951a39d68df598db08dfced8b4707755864a0492Ying Wang
110951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif /* _STLP_INTERNAL_STDEXCEPT */
111