epoc32/include/stdapis/stlportv5/stl/_stdexcept.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 epoc32/include/tools/stlport/stl/_stdexcept.h@2fe1408b6811
child 4 837f303aceeb
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
     1 /*
     2  * Copyright (c) 1996,1997
     3  * Silicon Graphics Computer Systems, Inc.
     4  *
     5  * Copyright (c) 1999
     6  * Boris Fomitchev
     7  *
     8  * This material is provided "as is", with absolutely no warranty expressed
     9  * or implied. Any use is at your own risk.
    10  *
    11  * Permission to use or copy this software for any purpose is hereby granted
    12  * without fee, provided the above notices are retained on all copies.
    13  * Permission to modify the code and to distribute modified code is granted,
    14  * provided the above notices are retained, and a notice that the code was
    15  * modified is included with the above copyright notice.
    16  *
    17  */
    18 
    19 #ifndef _STLP_INTERNAL_STDEXCEPT
    20 #define _STLP_INTERNAL_STDEXCEPT
    21 
    22 #ifndef _STLP_INTERNAL_STDEXCEPT_BASE
    23 #  include <stl/_stdexcept_base.h>
    24 #endif
    25 
    26 #if !defined (_STLP_USE_NATIVE_STDEXCEPT) || defined (_STLP_USE_OWN_NAMESPACE)
    27 
    28 #  if defined(_STLP_USE_EXCEPTIONS) || \
    29     !(defined(_MIPS_SIM) && defined(_ABIO32) && (_MIPS_SIM == _ABIO32))
    30 
    31 _STLP_BEGIN_NAMESPACE
    32 
    33 class _STLP_CLASS_DECLSPEC logic_error : public __Named_exception {
    34 public:
    35   logic_error(const string& __s) : __Named_exception(__s) {}
    36 #    ifndef _STLP_USE_NO_IOSTREAMS
    37   ~logic_error() _STLP_NOTHROW_INHERENTLY;
    38 #    endif
    39 };
    40 
    41 class _STLP_CLASS_DECLSPEC runtime_error : public __Named_exception {
    42 public:
    43   runtime_error(const string& __s) : __Named_exception(__s) {}
    44 #    ifndef _STLP_USE_NO_IOSTREAMS
    45   ~runtime_error() _STLP_NOTHROW_INHERENTLY;
    46 #    endif
    47 };
    48 
    49 class _STLP_CLASS_DECLSPEC domain_error : public logic_error {
    50 public:
    51   domain_error(const string& __arg) : logic_error(__arg) {}
    52 #    ifndef _STLP_USE_NO_IOSTREAMS
    53   ~domain_error() _STLP_NOTHROW_INHERENTLY;
    54 #    endif
    55 };
    56 
    57 class _STLP_CLASS_DECLSPEC invalid_argument : public logic_error {
    58 public:
    59   invalid_argument(const string& __arg) : logic_error(__arg) {}
    60 #    ifndef _STLP_USE_NO_IOSTREAMS
    61   ~invalid_argument() _STLP_NOTHROW_INHERENTLY;
    62 #    endif
    63 };
    64 
    65 class _STLP_CLASS_DECLSPEC length_error : public logic_error {
    66 public:
    67   length_error(const string& __arg) : logic_error(__arg) {}
    68 #    ifndef _STLP_USE_NO_IOSTREAMS
    69   ~length_error() _STLP_NOTHROW_INHERENTLY;
    70 #    endif
    71 };
    72 
    73 class _STLP_CLASS_DECLSPEC out_of_range : public logic_error {
    74 public:
    75   out_of_range(const string& __arg) : logic_error(__arg) {}
    76 #    ifndef _STLP_USE_NO_IOSTREAMS
    77   ~out_of_range() _STLP_NOTHROW_INHERENTLY;
    78 #    endif
    79 };
    80 
    81 class _STLP_CLASS_DECLSPEC range_error : public runtime_error {
    82 public:
    83   range_error(const string& __arg) : runtime_error(__arg) {}
    84 #    ifndef _STLP_USE_NO_IOSTREAMS
    85   ~range_error() _STLP_NOTHROW_INHERENTLY;
    86 #    endif
    87 };
    88 
    89 class _STLP_CLASS_DECLSPEC overflow_error : public runtime_error {
    90 public:
    91   overflow_error(const string& __arg) : runtime_error(__arg) {}
    92 #    ifndef _STLP_USE_NO_IOSTREAMS
    93   ~overflow_error() _STLP_NOTHROW_INHERENTLY;
    94 #    endif
    95 };
    96 
    97 class _STLP_CLASS_DECLSPEC underflow_error : public runtime_error {
    98 public:
    99   underflow_error(const string& __arg) : runtime_error(__arg) {}
   100 #    ifndef _STLP_USE_NO_IOSTREAMS
   101   ~underflow_error() _STLP_NOTHROW_INHERENTLY;
   102 #    endif
   103 };
   104 
   105 _STLP_END_NAMESPACE
   106 
   107 #  endif
   108 #endif
   109 
   110 #endif /* _STLP_INTERNAL_STDEXCEPT */