blob: af06bda88fc1b1fbb15bda833351ac51a109c924 [file] [log] [blame]
// 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__