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