epoc32/include/stdapis/stlport/stdexcept
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
/*
williamr@2
     2
 * © Portions copyright (c) 2006-2007 Nokia Corporation.  All rights reserved.
williamr@2
     3
 *
williamr@2
     4
 * Copyright (c) 1996,1997
williamr@2
     5
 * Silicon Graphics Computer Systems, Inc.
williamr@2
     6
 *
williamr@2
     7
 * Copyright (c) 1999 
williamr@2
     8
 * Boris Fomitchev
williamr@2
     9
 *
williamr@2
    10
 * This material is provided "as is", with absolutely no warranty expressed
williamr@2
    11
 * or implied. Any use is at your own risk.
williamr@2
    12
 *
williamr@2
    13
 * Permission to use or copy this software for any purpose is hereby granted 
williamr@2
    14
 * without fee, provided the above notices are retained on all copies.
williamr@2
    15
 * Permission to modify the code and to distribute modified code is granted,
williamr@2
    16
 * provided the above notices are retained, and a notice that the code was
williamr@2
    17
 * modified is included with the above copyright notice.
williamr@2
    18
 *
williamr@2
    19
 */
williamr@2
    20
williamr@2
    21
williamr@2
    22
# if !defined (_STLP_OUTERMOST_HEADER_ID)
williamr@2
    23
#  define _STLP_OUTERMOST_HEADER_ID 0x63
williamr@2
    24
#  include <stl/_prolog.h>
williamr@2
    25
# elif (_STLP_OUTERMOST_HEADER_ID == 0x63) && ! defined (_STLP_DONT_POP_0x63)
williamr@2
    26
#  define _STLP_DONT_POP_0x63
williamr@2
    27
# endif
williamr@2
    28
williamr@2
    29
#ifndef _STLP_STDEXCEPT
williamr@2
    30
#define _STLP_STDEXCEPT 1
williamr@2
    31
williamr@2
    32
# ifdef _STLP_PRAGMA_ONCE
williamr@2
    33
#  pragma once
williamr@2
    34
# endif
williamr@2
    35
williamr@2
    36
#if defined (_STLP_USE_TRAP_LEAVE)
williamr@2
    37
williamr@2
    38
enum {
williamr@2
    39
  STDEX_bad_alloc			= -10000,
williamr@2
    40
  STDEX_logic_error			= -10001,
williamr@2
    41
  STDEX_runtime_error		= -10002,
williamr@2
    42
  STDEX_domain_error		= -10003,
williamr@2
    43
  STDEX_invalid_argument	= -10004,
williamr@2
    44
  STDEX_length_error		= -10005,
williamr@2
    45
  STDEX_out_of_range		= -10006,
williamr@2
    46
  STDEX_range_error			= -10007,
williamr@2
    47
  STDEX_overflow_error		= -10008,
williamr@2
    48
  STDEX_underflow_error		= -10009
williamr@2
    49
};
williamr@2
    50
williamr@2
    51
// User may override this
williamr@2
    52
#ifndef STDEX_REPORT_EXCEPTION
williamr@2
    53
# define STDEX_REPORT_EXCEPTION(x) 
williamr@2
    54
#endif
williamr@2
    55
williamr@2
    56
#endif
williamr@2
    57
williamr@2
    58
# if !defined(_STLP_STDEXCEPT_SEEN) && \
williamr@2
    59
   (!defined (_STLP_USE_NATIVE_STDEXCEPT) || defined (_STLP_USE_OWN_NAMESPACE))
williamr@2
    60
williamr@2
    61
#  define _STLP_STDEXCEPT_SEEN 1
williamr@2
    62
williamr@2
    63
#  include <exception>
williamr@2
    64
williamr@2
    65
#if defined(_STLP_USE_EXCEPTIONS) || \
williamr@2
    66
    !(defined(_MIPS_SIM) && defined(_ABIO32) && _MIPS_SIM == _ABIO32)
williamr@2
    67
williamr@2
    68
# include <cstring>
williamr@2
    69
williamr@2
    70
#ifndef _STLP_INTERNAL_ALLOC_H
williamr@2
    71
# include <stl/_alloc.h>
williamr@2
    72
#endif
williamr@2
    73
williamr@2
    74
#ifndef _STLP_STRING_FWD_H
williamr@2
    75
# include <stl/_string_fwd.h>
williamr@2
    76
#endif
williamr@2
    77
williamr@2
    78
# define _STLP_OWN_STDEXCEPT 1
williamr@2
    79
williamr@2
    80
_STLP_BEGIN_NAMESPACE
williamr@2
    81
williamr@2
    82
# if   ! defined (_STLP_NO_EXCEPTION_HEADER)
williamr@2
    83
# if !defined(_STLP_EXCEPTION_BASE) && !defined(_STLP_BROKEN_EXCEPTION_CLASS) && defined (_STLP_USE_NAMESPACES) && defined (_STLP_USE_OWN_NAMESPACE)
williamr@2
    84
using _STLP_VENDOR_EXCEPT_STD::exception;
williamr@2
    85
# endif
williamr@2
    86
# endif
williamr@2
    87
#  define _STLP_EXCEPTION_BASE exception
williamr@2
    88
williamr@2
    89
#ifdef __SYMBIAN32__
williamr@2
    90
class __Named_exception : public _STLP_EXCEPTION_BASE {
williamr@2
    91
#else
williamr@2
    92
class _STLP_CLASS_DECLSPEC __Named_exception : public _STLP_EXCEPTION_BASE {
williamr@2
    93
#endif //__SYMBIAN32__
williamr@2
    94
public:
williamr@2
    95
  _STLP_DECLSPEC __Named_exception(const string& __str) 
williamr@2
    96
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
    97
    ;
williamr@2
    98
  _STLP_DECLSPEC const char* what() const _STLP_NOTHROW_INHERENTLY;
williamr@2
    99
  _STLP_DECLSPEC ~__Named_exception() _STLP_NOTHROW_INHERENTLY;
williamr@2
   100
# else
williamr@2
   101
  {
williamr@2
   102
    strncpy(_M_name, __get_c_string(__str), _S_bufsize);
williamr@2
   103
    _M_name[_S_bufsize - 1] = '\0';
williamr@2
   104
  }
williamr@2
   105
  const char* what() const _STLP_NOTHROW_INHERENTLY { return _M_name; }
williamr@2
   106
# endif
williamr@2
   107
williamr@2
   108
private:
williamr@2
   109
  enum { _S_bufsize = 256 };
williamr@2
   110
  char _M_name[_S_bufsize];
williamr@2
   111
};
williamr@2
   112
williamr@2
   113
#ifdef __SYMBIAN32__
williamr@2
   114
class logic_error : public __Named_exception {
williamr@2
   115
#else
williamr@2
   116
class _STLP_CLASS_DECLSPEC logic_error : public __Named_exception {
williamr@2
   117
#endif
williamr@2
   118
public:
williamr@2
   119
  _STLP_DECLSPEC logic_error(const string& __s)
williamr@2
   120
#ifdef __SYMBIAN32__
williamr@2
   121
    ;
williamr@2
   122
#else
williamr@2
   123
   : __Named_exception(__s) {}
williamr@2
   124
#endif
williamr@2
   125
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
   126
  _STLP_DECLSPEC ~logic_error() _STLP_NOTHROW_INHERENTLY;
williamr@2
   127
# endif
williamr@2
   128
};
williamr@2
   129
williamr@2
   130
#ifdef __SYMBIAN32__
williamr@2
   131
class runtime_error : public __Named_exception {
williamr@2
   132
#else
williamr@2
   133
class _STLP_CLASS_DECLSPEC runtime_error : public __Named_exception {
williamr@2
   134
#endif
williamr@2
   135
public:
williamr@2
   136
  _STLP_DECLSPEC runtime_error(const string& __s)
williamr@2
   137
#ifdef __SYMBIAN32__
williamr@2
   138
    ;
williamr@2
   139
#else
williamr@2
   140
   : __Named_exception(__s) {}
williamr@2
   141
#endif
williamr@2
   142
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
   143
  _STLP_DECLSPEC ~runtime_error() _STLP_NOTHROW_INHERENTLY;
williamr@2
   144
# endif
williamr@2
   145
};
williamr@2
   146
williamr@2
   147
#ifdef __SYMBIAN32__
williamr@2
   148
class domain_error : public logic_error {
williamr@2
   149
#else
williamr@2
   150
class _STLP_CLASS_DECLSPEC domain_error : public logic_error {
williamr@2
   151
#endif
williamr@2
   152
public:
williamr@2
   153
  _STLP_DECLSPEC domain_error(const string& __arg)
williamr@2
   154
#ifdef __SYMBIAN32__
williamr@2
   155
    ;
williamr@2
   156
#else
williamr@2
   157
   : logic_error(__arg) {}
williamr@2
   158
#endif
williamr@2
   159
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
   160
  _STLP_DECLSPEC ~domain_error() _STLP_NOTHROW_INHERENTLY;
williamr@2
   161
# endif
williamr@2
   162
};
williamr@2
   163
williamr@2
   164
#ifdef __SYMBIAN32__
williamr@2
   165
class invalid_argument : public logic_error {
williamr@2
   166
#else
williamr@2
   167
class _STLP_CLASS_DECLSPEC invalid_argument : public logic_error {
williamr@2
   168
#endif
williamr@2
   169
public:
williamr@2
   170
  _STLP_DECLSPEC invalid_argument(const string& __arg)
williamr@2
   171
#ifdef __SYMBIAN32__
williamr@2
   172
    ;
williamr@2
   173
#else
williamr@2
   174
   : logic_error(__arg) {}
williamr@2
   175
#endif
williamr@2
   176
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
   177
  _STLP_DECLSPEC ~invalid_argument() _STLP_NOTHROW_INHERENTLY;
williamr@2
   178
# endif
williamr@2
   179
};
williamr@2
   180
williamr@2
   181
#ifdef __SYMBIAN32__
williamr@2
   182
class length_error : public logic_error {
williamr@2
   183
#else
williamr@2
   184
class _STLP_CLASS_DECLSPEC length_error : public logic_error {
williamr@2
   185
#endif
williamr@2
   186
public:
williamr@2
   187
  _STLP_DECLSPEC length_error(const string& __arg)
williamr@2
   188
#ifdef __SYMBIAN32__
williamr@2
   189
    ;
williamr@2
   190
#else
williamr@2
   191
   : logic_error(__arg) {}
williamr@2
   192
#endif
williamr@2
   193
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
   194
  _STLP_DECLSPEC ~length_error() _STLP_NOTHROW_INHERENTLY;
williamr@2
   195
# endif
williamr@2
   196
};
williamr@2
   197
williamr@2
   198
#ifdef __SYMBIAN32__
williamr@2
   199
class out_of_range : public logic_error {
williamr@2
   200
#else
williamr@2
   201
class _STLP_CLASS_DECLSPEC out_of_range : public logic_error {
williamr@2
   202
#endif
williamr@2
   203
public:
williamr@2
   204
  _STLP_DECLSPEC out_of_range(const string& __arg)
williamr@2
   205
#ifdef __SYMBIAN32__
williamr@2
   206
    ;
williamr@2
   207
#else
williamr@2
   208
   : logic_error(__arg) {}
williamr@2
   209
#endif
williamr@2
   210
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
   211
  _STLP_DECLSPEC ~out_of_range() _STLP_NOTHROW_INHERENTLY;
williamr@2
   212
# endif
williamr@2
   213
};
williamr@2
   214
williamr@2
   215
#ifdef __SYMBIAN32__
williamr@2
   216
class range_error : public runtime_error {
williamr@2
   217
#else
williamr@2
   218
class _STLP_CLASS_DECLSPEC range_error : public runtime_error {
williamr@2
   219
#endif
williamr@2
   220
public:
williamr@2
   221
  _STLP_DECLSPEC range_error(const string& __arg)
williamr@2
   222
#ifdef __SYMBIAN32__
williamr@2
   223
    ;
williamr@2
   224
#else
williamr@2
   225
   : runtime_error(__arg) {}
williamr@2
   226
#endif
williamr@2
   227
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
   228
  _STLP_DECLSPEC ~range_error() _STLP_NOTHROW_INHERENTLY;
williamr@2
   229
# endif
williamr@2
   230
};
williamr@2
   231
williamr@2
   232
#ifdef __SYMBIAN32__
williamr@2
   233
class overflow_error : public runtime_error {
williamr@2
   234
#else
williamr@2
   235
class _STLP_CLASS_DECLSPEC overflow_error : public runtime_error {
williamr@2
   236
#endif
williamr@2
   237
public:
williamr@2
   238
  _STLP_DECLSPEC overflow_error(const string& __arg)
williamr@2
   239
#ifdef __SYMBIAN32__
williamr@2
   240
    ;
williamr@2
   241
#else
williamr@2
   242
   : runtime_error(__arg) {}
williamr@2
   243
#endif
williamr@2
   244
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
   245
  _STLP_DECLSPEC ~overflow_error() _STLP_NOTHROW_INHERENTLY;
williamr@2
   246
# endif
williamr@2
   247
};
williamr@2
   248
williamr@2
   249
#ifdef __SYMBIAN32__
williamr@2
   250
class underflow_error : public runtime_error {
williamr@2
   251
#else
williamr@2
   252
class _STLP_CLASS_DECLSPEC underflow_error : public runtime_error {
williamr@2
   253
#endif
williamr@2
   254
public:
williamr@2
   255
  _STLP_DECLSPEC underflow_error(const string& __arg)
williamr@2
   256
#ifdef __SYMBIAN32__
williamr@2
   257
    ;
williamr@2
   258
#else
williamr@2
   259
   : runtime_error(__arg) {}
williamr@2
   260
#endif
williamr@2
   261
# ifdef _STLP_OWN_IOSTREAMS
williamr@2
   262
  _STLP_DECLSPEC ~underflow_error() _STLP_NOTHROW_INHERENTLY;
williamr@2
   263
# endif
williamr@2
   264
};
williamr@2
   265
williamr@2
   266
_STLP_END_NAMESPACE
williamr@2
   267
williamr@2
   268
#endif /* Not o32, and no exceptions */
williamr@2
   269
# endif /* _STLP_STDEXCEPT_SEEN */
williamr@2
   270
williamr@2
   271
williamr@2
   272
#if defined (_STLP_USE_NATIVE_STDEXCEPT)
williamr@2
   273
#  include _STLP_NATIVE_HEADER(stdexcept)
williamr@2
   274
# endif
williamr@2
   275
williamr@2
   276
#endif /* _STLP_STDEXCEPT */
williamr@2
   277
williamr@2
   278
# if (_STLP_OUTERMOST_HEADER_ID == 0x63)
williamr@2
   279
#  if ! defined (_STLP_DONT_POP_0x63)
williamr@2
   280
#   include <stl/_epilog.h>
williamr@2
   281
#   undef  _STLP_OUTERMOST_HEADER_ID
williamr@2
   282
#   endif
williamr@2
   283
#   undef  _STLP_DONT_POP_0x63
williamr@2
   284
# endif
williamr@2
   285
williamr@2
   286
williamr@2
   287
// Local Variables:
williamr@2
   288
// mode:C++
williamr@2
   289
// End:
williamr@2
   290