diff options
Diffstat (limited to 'src/stdexcept.h')
-rw-r--r-- | src/stdexcept.h | 56 |
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__ + |