summaryrefslogtreecommitdiff
path: root/src/stdexcept.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdexcept.h')
-rw-r--r--src/stdexcept.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/stdexcept.h b/src/stdexcept.h
new file mode 100644
index 0000000..af06bda
--- /dev/null
+++ b/src/stdexcept.h
@@ -0,0 +1,56 @@
+
+
+// This header defines standard exception classes which are needed
+// for implementing new/delete operators
+
+
+#ifndef __LIBCXXSUP_STDEXCEPT_H__
+#define __LIBCXXSUP_STDEXCEPT_H__
+
+namespace std {
+
+class exception {
+public:
+ exception() throw();
+ exception(const exception&) throw();
+ exception& operator=(const exception&) throw();
+ virtual ~exception();
+ virtual const char* what() const throw();
+};
+
+
+class bad_alloc: public exception {
+public:
+ bad_alloc() throw();
+ bad_alloc(const bad_alloc&) throw();
+ bad_alloc& operator=(const bad_alloc&) throw();
+ ~bad_alloc();
+ virtual const char* what() const throw();
+};
+
+
+class bad_cast: public exception {
+public:
+ bad_cast() throw();
+ bad_cast(const bad_cast&) throw();
+ bad_cast& operator=(const bad_cast&) throw();
+ virtual ~bad_cast();
+ virtual const char* what() const throw();
+};
+
+
+class bad_typeid: public exception {
+public:
+ bad_typeid() throw();
+ bad_typeid(const bad_typeid &__rhs) throw();
+ virtual ~bad_typeid();
+ bad_typeid& operator=(const bad_typeid &__rhs) throw();
+ virtual const char* what() const throw();
+};
+
+
+
+} // namespace std
+
+#endif // __LIBCXXSUP_STDEXCEPT_H__
+