home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
vc98
/
include
/
new
< prev
next >
Wrap
Text File
|
1998-06-16
|
1KB
|
64 lines
// new standard header
#if _MSC_VER > 1000
#pragma once
#endif
#ifndef _NEW_
#define _NEW_
#include <exception>
#ifdef _MSC_VER
#pragma pack(push,8)
#endif /* _MSC_VER */
_STD_BEGIN
// CLASS bad_alloc
class _CRTIMP bad_alloc : public exception {
public:
bad_alloc(const char *_S = "bad allocation") _THROW0()
: exception(_S) {}
virtual ~bad_alloc() _THROW0()
{}
protected:
virtual void _Doraise() const
{_RAISE(*this); }
};
// SUPPORT TYPES
struct nothrow_t {};
extern _CRTIMP const nothrow_t nothrow;
_STD_END
typedef void (__cdecl *new_handler)();
// new AND delete DECLARATIONS
void __cdecl operator delete(void *) _THROW0();
void *__cdecl operator new(size_t) _THROW1(std::bad_alloc);
void *__cdecl operator new(size_t, const std::nothrow_t&)
_THROW0();
#ifndef __PLACEMENT_NEW_INLINE
#define __PLACEMENT_NEW_INLINE
inline void *__cdecl operator new(size_t, void *_P)
{return (_P); }
#if _MSC_VER >= 1200
inline void __cdecl operator delete(void *, void *)
{return; }
#endif
#endif
#ifdef _CRTIMP
_CRTIMP
#endif
new_handler __cdecl set_new_handler(new_handler) _THROW0();
#ifdef _MSC_VER
#pragma pack(pop)
#endif /* _MSC_VER */
#endif /* _NEW_ */
/*
* Copyright (c) 1994 by P.J. Plauger. ALL RIGHTS RESERVED.
* Consult your license regarding permissions and restrictions.
*/