95 lines
2.1 KiB
Plaintext
95 lines
2.1 KiB
Plaintext
/* Copyright (C) 2003 by Digital Mars.
|
|
* www.digitalmars.com
|
|
* All Rights Reserved.
|
|
*/
|
|
|
|
#if __DMC__ || __RCC__
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifndef __EXCEPTION
|
|
#define __EXCEPTION 1
|
|
|
|
#ifndef __cplusplus
|
|
#error Use C++ compiler for exception
|
|
#endif
|
|
|
|
//class Type_info;
|
|
|
|
#ifndef __TYPE_INFO__
|
|
#define __TYPE_INFO__ 1
|
|
|
|
namespace std
|
|
{
|
|
class type_info
|
|
{
|
|
public:
|
|
void *pdata;
|
|
|
|
public:
|
|
virtual __cdecl ~type_info();
|
|
bool __cdecl operator==(const type_info& rhs) const;
|
|
bool __cdecl operator!=(const type_info& rhs) const;
|
|
bool __cdecl before(const type_info& rhs) const;
|
|
const char* __cdecl name() const;
|
|
protected:
|
|
type_info();
|
|
private:
|
|
__cdecl type_info(const type_info& rhs);
|
|
type_info& __cdecl operator=(const type_info& rhs);
|
|
};
|
|
}
|
|
|
|
// Type_info is for link compatibility with old code
|
|
class Type_info : public std::type_info
|
|
{
|
|
private:
|
|
__cdecl Type_info(const Type_info&);
|
|
Type_info& __cdecl operator=(const Type_info&);
|
|
|
|
public:
|
|
virtual __cdecl ~Type_info();
|
|
|
|
int __cdecl operator==(const Type_info&) const;
|
|
int __cdecl operator!=(const Type_info&) const;
|
|
int __cdecl before(const Type_info&) const;
|
|
const char * __cdecl name() const;
|
|
};
|
|
|
|
#endif
|
|
|
|
namespace std
|
|
{
|
|
typedef void (__cdecl *unexpected_handler)();
|
|
unexpected_handler __cdecl set_unexpected(unexpected_handler f) throw();
|
|
void __cdecl unexpected();
|
|
|
|
typedef void (__cdecl *terminate_handler)();
|
|
terminate_handler __cdecl set_terminate(terminate_handler f) throw();
|
|
void __cdecl terminate();
|
|
|
|
bool __cdecl uncaught_exception();
|
|
|
|
class exception
|
|
{
|
|
public:
|
|
exception() throw() { }
|
|
exception(const exception&) throw() { }
|
|
exception& operator=(const exception&) throw() { return *this; }
|
|
virtual ~exception() throw();
|
|
virtual const char* what() const throw();
|
|
};
|
|
|
|
class bad_exception : public exception
|
|
{
|
|
public:
|
|
bad_exception() throw() { }
|
|
bad_exception(const bad_exception&) throw() { }
|
|
bad_exception& operator=(const bad_exception&) throw() { return *this; }
|
|
virtual ~bad_exception() throw();
|
|
virtual const char* what() const throw();
|
|
};
|
|
}
|
|
|
|
#endif
|