summaryrefslogtreecommitdiff
path: root/src/stdexcept.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdexcept.h')
-rw-r--r--src/stdexcept.h107
1 files changed, 56 insertions, 51 deletions
diff --git a/src/stdexcept.h b/src/stdexcept.h
index af06bda..718f810 100644
--- a/src/stdexcept.h
+++ b/src/stdexcept.h
@@ -1,56 +1,61 @@
-
-
-// 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();
-};
+/**
+ * stdexcept.h - provides a stub version of <stdexcept>, which defines enough
+ * of the exceptions for the runtime to use.
+ */
+
+namespace std
+{
+
+ class exception
+ {
+ public:
+ exception() throw();
+ exception(const exception&) throw();
+ exception& operator=(const exception&) throw();
+ virtual ~exception();
+ virtual const char* what() const throw();
+ };
+
+
+ /**
+ * Bad allocation exception. Thrown by ::operator new() if it fails.
+ */
+ 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();
+ };
+
+ /**
+ * Bad cast exception. Thrown by the __cxa_bad_cast() helper function.
+ */
+ 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();
+ };
+
+ /**
+ * Bad typeidexception. Thrown by the __cxa_bad_typeid() helper function.
+ */
+ 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__
-