windows-nt/Source/XPSP1/NT/base/crts/libw32/include/xstddef

84 lines
1.6 KiB
Plaintext
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
// 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 */