/home/ntakagi/work/STLport-5.1.5/stlport/stl/_stdexcept.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 1996,1997
00003  * Silicon Graphics Computer Systems, Inc.
00004  *
00005  * Copyright (c) 1999
00006  * Boris Fomitchev
00007  *
00008  * This material is provided "as is", with absolutely no warranty expressed
00009  * or implied. Any use is at your own risk.
00010  *
00011  * Permission to use or copy this software for any purpose is hereby granted
00012  * without fee, provided the above notices are retained on all copies.
00013  * Permission to modify the code and to distribute modified code is granted,
00014  * provided the above notices are retained, and a notice that the code was
00015  * modified is included with the above copyright notice.
00016  *
00017  */
00018 
00019 #ifndef _STLP_INTERNAL_STDEXCEPT
00020 #define _STLP_INTERNAL_STDEXCEPT
00021 
00022 #ifndef _STLP_INTERNAL_STDEXCEPT_BASE
00023 #  include <stl/_stdexcept_base.h>
00024 #endif
00025 
00026 #if !defined (_STLP_USE_NATIVE_STDEXCEPT) || defined (_STLP_USE_OWN_NAMESPACE)
00027 
00028 #  if defined(_STLP_USE_EXCEPTIONS) || \
00029     !(defined(_MIPS_SIM) && defined(_ABIO32) && (_MIPS_SIM == _ABIO32))
00030 
00031 _STLP_BEGIN_NAMESPACE
00032 
00033 class _STLP_CLASS_DECLSPEC logic_error : public __Named_exception {
00034 public:
00035   logic_error(const string& __s) : __Named_exception(__s) {}
00036 #    ifndef _STLP_USE_NO_IOSTREAMS
00037   ~logic_error() _STLP_NOTHROW_INHERENTLY;
00038 #    endif
00039 };
00040 
00041 class _STLP_CLASS_DECLSPEC runtime_error : public __Named_exception {
00042 public:
00043   runtime_error(const string& __s) : __Named_exception(__s) {}
00044 #    ifndef _STLP_USE_NO_IOSTREAMS
00045   ~runtime_error() _STLP_NOTHROW_INHERENTLY;
00046 #    endif
00047 };
00048 
00049 class _STLP_CLASS_DECLSPEC domain_error : public logic_error {
00050 public:
00051   domain_error(const string& __arg) : logic_error(__arg) {}
00052 #    ifndef _STLP_USE_NO_IOSTREAMS
00053   ~domain_error() _STLP_NOTHROW_INHERENTLY;
00054 #    endif
00055 };
00056 
00057 class _STLP_CLASS_DECLSPEC invalid_argument : public logic_error {
00058 public:
00059   invalid_argument(const string& __arg) : logic_error(__arg) {}
00060 #    ifndef _STLP_USE_NO_IOSTREAMS
00061   ~invalid_argument() _STLP_NOTHROW_INHERENTLY;
00062 #    endif
00063 };
00064 
00065 class _STLP_CLASS_DECLSPEC length_error : public logic_error {
00066 public:
00067   length_error(const string& __arg) : logic_error(__arg) {}
00068 #    ifndef _STLP_USE_NO_IOSTREAMS
00069   ~length_error() _STLP_NOTHROW_INHERENTLY;
00070 #    endif
00071 };
00072 
00073 class _STLP_CLASS_DECLSPEC out_of_range : public logic_error {
00074 public:
00075   out_of_range(const string& __arg) : logic_error(__arg) {}
00076 #    ifndef _STLP_USE_NO_IOSTREAMS
00077   ~out_of_range() _STLP_NOTHROW_INHERENTLY;
00078 #    endif
00079 };
00080 
00081 class _STLP_CLASS_DECLSPEC range_error : public runtime_error {
00082 public:
00083   range_error(const string& __arg) : runtime_error(__arg) {}
00084 #    ifndef _STLP_USE_NO_IOSTREAMS
00085   ~range_error() _STLP_NOTHROW_INHERENTLY;
00086 #    endif
00087 };
00088 
00089 class _STLP_CLASS_DECLSPEC overflow_error : public runtime_error {
00090 public:
00091   overflow_error(const string& __arg) : runtime_error(__arg) {}
00092 #    ifndef _STLP_USE_NO_IOSTREAMS
00093   ~overflow_error() _STLP_NOTHROW_INHERENTLY;
00094 #    endif
00095 };
00096 
00097 class _STLP_CLASS_DECLSPEC underflow_error : public runtime_error {
00098 public:
00099   underflow_error(const string& __arg) : runtime_error(__arg) {}
00100 #    ifndef _STLP_USE_NO_IOSTREAMS
00101   ~underflow_error() _STLP_NOTHROW_INHERENTLY;
00102 #    endif
00103 };
00104 
00105 _STLP_END_NAMESPACE
00106 
00107 #  endif
00108 #endif
00109 
00110 #endif /* _STLP_INTERNAL_STDEXCEPT */



Generated on Mon Mar 10 15:32:36 2008 by  doxygen 1.5.1