--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/epoc32/include/stdapis/stlport/exception Wed Mar 31 12:33:34 2010 +0100
@@ -0,0 +1,229 @@
+/*
+ * © Portions copyright (c) 2006-2007 Nokia Corporation. All rights reserved.
+ *
+ * Copyright (c) 1996,1997
+ * Silicon Graphics Computer Systems, Inc.
+ *
+ * Copyright (c) 1999
+ * Boris Fomitchev
+ *
+ * This material is provided "as is", with absolutely no warranty expressed
+ * or implied. Any use is at your own risk.
+ *
+ * Permission to use or copy this software for any purpose is hereby granted
+ * without fee, provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is granted,
+ * provided the above notices are retained, and a notice that the code was
+ * modified is included with the above copyright notice.
+ *
+ */
+
+// This header exists solely for portability. Normally it just includes
+// the native header <exception>.
+
+// The header <exception> contains low-level functions that interact
+// with a compiler's exception-handling mechanism. It is assumed to
+// be supplied with the compiler, rather than with the library, because
+// it is inherently tied very closely to the compiler itself.
+
+// On platforms where <exception> does not exist, this header defines
+// an exception base class. This is *not* a substitute for everything
+// in <exception>, but it suffices to support a bare minimum of STL
+// functionality.
+
+
+# if !defined (_STLP_OUTERMOST_HEADER_ID)
+# define _STLP_OUTERMOST_HEADER_ID 0x423
+# include <stl/_prolog.h>
+# elif (_STLP_OUTERMOST_HEADER_ID == 0x423) && ! defined (_STLP_DONT_POP_0x423)
+# define _STLP_DONT_POP_0x423
+# endif
+
+#ifndef _STLP_EXCEPTION
+#define _STLP_EXCEPTION
+
+# if ! defined (_STLP_NO_EXCEPTION_HEADER)
+
+# if defined ( _UNCAUGHT_EXCEPTION )
+# undef _STLP_INCOMPLETE_EXCEPTION_HEADER
+# endif
+
+# if defined(_STLP_BROKEN_EXCEPTION_CLASS)
+# define exception _STLP_NULLIFIED_BROKEN_EXCEPTION_CLASS
+# define bad_exception _STLP_NULLIFIED_BROKEN_BAD_EXCEPTION_CLASS
+# if defined (_STLP_NO_NEW_NEW_HEADER)
+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(Exception.h)
+# else
+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(Exception)
+# endif
+# undef exception
+# undef bad_exception
+# else
+
+#ifndef _STLP_NO_NEW_NEW_HEADER
+#define _STLP_NO_NEW_NEW_HEADER
+#endif
+
+# if defined (_STLP_NO_NEW_NEW_HEADER)
+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(exception.h)
+# else
+# include _STLP_NATIVE_CPP_RUNTIME_HEADER(exception)
+# endif
+
+# endif
+
+# if defined (_STLP_MSVC) || defined (__ICL)
+// dwa 02/04/00 - here I'm assuming that __ICL uses the same library headers as vc6.
+// the header <yvals.h> which ships with vc6 and is included by its native <exception>
+// actually turns on warnings, so we have to turn them back off.
+# include <config/_msvc_warnings_off.h>
+# endif
+
+
+# ifdef _STLP_USE_OWN_NAMESPACE
+
+_STLP_BEGIN_NAMESPACE
+
+#if !defined(_STLP_BROKEN_EXCEPTION_CLASS)
+using _STLP_VENDOR_EXCEPT_STD::exception;
+using _STLP_VENDOR_EXCEPT_STD::bad_exception;
+#endif
+
+# if ! defined (_STLP_NO_USING_FOR_GLOBAL_FUNCTIONS)
+
+// fbp : many platforms present strange mix of
+// those in various namespaces
+# if !defined(_STLP_VENDOR_UNEXPECTED_STD)
+# define _STLP_VENDOR_UNEXPECTED_STD _STLP_VENDOR_EXCEPT_STD
+# endif
+
+// weird errors
+# if (! defined (__BORLANDC__)) || (defined (__STD_EXCEPTION) && defined (__RWSTD_EXCEPTION_SEEN) && defined ( _STLP_DONT_POP_0x423))
+using _STLP_VENDOR_UNEXPECTED_STD::unexpected;
+using _STLP_VENDOR_UNEXPECTED_STD::unexpected_handler;
+using _STLP_VENDOR_UNEXPECTED_STD::set_unexpected;
+using _STLP_VENDOR_UNEXPECTED_STD::terminate;
+using _STLP_VENDOR_UNEXPECTED_STD::terminate_handler;
+using _STLP_VENDOR_UNEXPECTED_STD::set_terminate;
+# endif
+
+# if !defined (_STLP_INCOMPLETE_EXCEPTION_HEADER)
+using _STLP_VENDOR_UNEXPECTED_STD::uncaught_exception;
+# endif
+
+# endif
+
+_STLP_END_NAMESPACE
+
+# endif /* _STLP_OWN_NAMESPACE */
+
+#else /* _STLP_NO_EXCEPTION_HEADER */
+
+// fbp : absence of <exception> usually means that those
+// functions are not going to be called by compiler.
+// Still, define them for the user.
+#ifdef __SYMBIAN32__
+_STLP_BEGIN_NAMESPACE
+#endif //__SYMBIAN32__
+typedef void (*unexpected_handler)();
+unexpected_handler set_unexpected(unexpected_handler f) _STLP_NOTHROW_INHERENTLY;
+void unexpected();
+
+typedef void (*terminate_handler)();
+terminate_handler set_terminate(terminate_handler f) _STLP_NOTHROW_INHERENTLY;
+void terminate();
+
+bool uncaught_exception(); // not implemented under mpw as of Jan/1999
+
+#ifdef __SYMBIAN32__
+_STLP_END_NAMESPACE
+#endif //__SYMBIAN32__
+
+#endif /* _STLP_NO_EXCEPTION_HEADER */
+
+# if defined (_STLP_NO_EXCEPTION_HEADER) || defined(_STLP_BROKEN_EXCEPTION_CLASS)
+# ifndef _STLP_EXCEPTION_H
+# define _STLP_EXCEPTION_H
+
+_STLP_BEGIN_NAMESPACE
+
+// section 18.6.1
+#ifdef __SYMBIAN32__
+class exception
+#else
+class _STLP_CLASS_DECLSPEC exception
+#endif
+ {
+ public:
+# ifdef _STLP_OWN_IOSTREAMS
+ IMPORT_C exception() _STLP_NOTHROW;
+ IMPORT_C virtual ~exception() _STLP_NOTHROW;
+ IMPORT_C virtual const char* what() const _STLP_NOTHROW;
+# else
+ exception() _STLP_NOTHROW {}
+ virtual ~exception() _STLP_NOTHROW {}
+ virtual const char* what() const _STLP_NOTHROW {return "class exception";}
+# endif
+ };
+
+
+
+// section 18.6.2.1
+#ifdef __SYMBIAN32__
+class bad_exception : public exception
+#else
+class _STLP_CLASS_DECLSPEC bad_exception : public exception
+#endif
+ {
+ public:
+# ifdef _STLP_OWN_IOSTREAMS
+ _STLP_DECLSPEC bad_exception() _STLP_NOTHROW;
+ _STLP_DECLSPEC ~bad_exception() _STLP_NOTHROW;
+ _STLP_DECLSPEC const char* what() const _STLP_NOTHROW;
+# else
+ bad_exception() _STLP_NOTHROW {}
+ ~bad_exception() _STLP_NOTHROW {}
+ const char* what() const _STLP_NOTHROW {return "class bad_exception";}
+# endif
+ };
+
+#ifdef __SYMBIAN32__
+// Give forward declaration, this should be supported by the stdard libraries from platform vendor.
+typedef void (*unexpected_handler)();
+_STLP_DECLSPEC unexpected_handler set_unexpected(unexpected_handler f) _STLP_NOTHROW_INHERENTLY;
+_STLP_DECLSPEC void unexpected();
+
+typedef void (*terminate_handler)();
+_STLP_DECLSPEC terminate_handler set_terminate(terminate_handler f) _STLP_NOTHROW_INHERENTLY;
+_STLP_DECLSPEC void terminate();
+
+_STLP_DECLSPEC bool uncaught_exception(); // not implemented under mpw as of Jan/1999
+
+#endif
+_STLP_END_NAMESPACE
+
+#endif /* _STLP_NO_EXCEPTION_HEADER */
+
+_STLP_BEGIN_NAMESPACE
+// forward declaration
+class __Named_exception;
+_STLP_END_NAMESPACE
+#endif /* _STLP_EXCEPTION_H */
+
+#endif //_STLP_EXCEPTION
+
+# if (_STLP_OUTERMOST_HEADER_ID == 0x423)
+# if ! defined (_STLP_DONT_POP_0x423)
+# include <stl/_epilog.h>
+# undef _STLP_OUTERMOST_HEADER_ID
+# endif
+# undef _STLP_DONT_POP_0x423
+# endif
+
+
+// Local Variables:
+// mode:C++
+// End:
+
+
+