mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.6 KiB
83 lines
1.6 KiB
// xstddef standard header
|
|
#pragma once
|
|
#ifndef _XSTDDEF_
|
|
#define _XSTDDEF_
|
|
#ifndef _YVALS
|
|
#include <yvals.h>
|
|
#endif
|
|
#include <cstddef>
|
|
|
|
#pragma pack(push,8)
|
|
#pragma warning(push,3)
|
|
_STD_BEGIN
|
|
|
|
// EXCEPTION MACROS
|
|
#if _HAS_EXCEPTIONS
|
|
#define _TRY_BEGIN try {
|
|
#define _CATCH(x) } catch (x) {
|
|
#define _CATCH_ALL } catch (...) {
|
|
#define _CATCH_END }
|
|
|
|
#define _RAISE(x) throw (x)
|
|
#define _RERAISE throw
|
|
|
|
#define _THROW0() throw ()
|
|
#define _THROW1(x) throw (...)
|
|
#define _THROW(x, y) throw x(y)
|
|
#else /* no exceptions */
|
|
#define _TRY_BEGIN {{
|
|
#define _CATCH(x) } if (0) {
|
|
#define _CATCH_ALL } if (0) {
|
|
#define _CATCH_END }}
|
|
|
|
#define _RAISE(x) _Throw(x)
|
|
#define _RERAISE
|
|
|
|
#define _THROW0()
|
|
#define _THROW1(x)
|
|
#define _THROW(x, y) x(y)._Raise()
|
|
#endif /* _HAS_EXCEPTIONS */
|
|
|
|
// typename KEYWORD
|
|
#define _TEMPLATE template<>
|
|
|
|
#ifndef _TEMPLATE_STAT
|
|
#define _TEMPLATE_STAT template<>
|
|
#endif
|
|
|
|
#ifndef _TEMPLATE_MEMBER
|
|
#define _TEMPLATE_MEMBER template
|
|
#endif
|
|
|
|
// BITMASK MACROS
|
|
#define _BITMASK(Enum, Ty) typedef int Ty
|
|
|
|
#define _BITMASK_OPS(Ty)
|
|
|
|
// MISCELLANEOUS MACROS
|
|
#define _DESTRUCTOR(ty, ptr) (ptr)->~ty()
|
|
#define _MESG(str) str
|
|
#define _PROTECTED protected
|
|
|
|
#define _TDEF(x) = x
|
|
#define _TDEF2(x, y) = x, y
|
|
|
|
#define _STCONS(ty, name, val) static const ty name = (ty)(val)
|
|
|
|
// TYPE DEFINITIONS
|
|
enum _Uninitialized
|
|
{ // tag for suppressing initialization
|
|
_Noinit};
|
|
|
|
// FUNCTIONS
|
|
_CRTIMP2 void __cdecl _Nomemory();
|
|
_STD_END
|
|
#pragma warning(pop)
|
|
#pragma pack(pop)
|
|
|
|
#endif /* _XSTDDEF_ */
|
|
|
|
/*
|
|
* Copyright (c) 1992-2001 by P.J. Plauger. ALL RIGHTS RESERVED.
|
|
* Consult your license regarding permissions and restrictions.
|
|
V3.10:0009 */
|