2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(- * * ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
16 * Part of : standard c++ library.
23 #ifndef _SYMCPP_EXCEPTION_H_
24 #define _SYMCPP_EXCEPTION_H_
27 /* EABI specific definitions */
34 IMPORT_C exception() __NO_THROW;
35 IMPORT_C exception(const exception&) __NO_THROW;
36 IMPORT_C exception& operator=(const exception&) __NO_THROW;
37 IMPORT_C virtual ~exception() __NO_THROW;
38 IMPORT_C virtual const char* what() const __NO_THROW;
41 class bad_exception : public exception
44 IMPORT_C bad_exception() __NO_THROW;
45 IMPORT_C bad_exception(const bad_exception&) __NO_THROW;
46 IMPORT_C bad_exception& operator=(const bad_exception&) __NO_THROW;
47 IMPORT_C virtual ~bad_exception() __NO_THROW;
48 IMPORT_C virtual const char* what() const __NO_THROW;
51 typedef void (*unexpected_handler)();
53 IMPORT_C unexpected_handler set_unexpected(unexpected_handler) __NO_THROW;
54 IMPORT_C void unexpected();
56 typedef void (*terminate_handler)();
58 IMPORT_C terminate_handler set_terminate(terminate_handler) __NO_THROW;
59 IMPORT_C void terminate();
61 IMPORT_C extern bool uncaught_exception() __NO_THROW;
68 /* Declarations common to all other platforms (Non-EABI) here.
69 * WINSCW specific definitions are in exception_winscw.h
77 exception() __NO_THROW;
78 exception(const exception&) __NO_THROW;
79 exception& operator=(const exception&) __NO_THROW;
80 virtual ~exception() __NO_THROW;
81 virtual const char* what() const __NO_THROW;
84 class bad_exception : public exception {
86 bad_exception() __NO_THROW;
87 bad_exception(const bad_exception&) __NO_THROW;
88 bad_exception& operator=(const bad_exception&) __NO_THROW;
89 virtual ~bad_exception() __NO_THROW;
90 virtual const char* what() const __NO_THROW;
93 typedef void (*terminate_handler)();
94 extern terminate_handler set_terminate(terminate_handler) __NO_THROW;
96 typedef void (*unexpected_handler)();
97 extern unexpected_handler set_unexpected(unexpected_handler) __NO_THROW;
101 bool uncaught_exception() __NO_THROW;
107 * C++ Exception specific stuff required from the CW runtime.
108 * Certain functions are implemented inline in CW headers.
109 * We're providing the same in exception_winscw.h
111 # include <stdapis/stlportv5/exception_winscw.h>
115 #endif //_SYMCPP_EXCEPTION_