// xstddef standard header #pragma once #ifndef _XSTDDEF_ #define _XSTDDEF_ #ifndef _YVALS #include #endif /* _YVALS */ #include #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 /* _HAS_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 */ // 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) #ifndef _XSTD #define _X_STD_BEGIN _STD_BEGIN #define _X_STD_END _STD_END #define _XSTD std::/* LEAVE SPACE */ #endif /* _XSTD */ // 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-2002 by P.J. Plauger. ALL RIGHTS RESERVED. * Consult your license regarding permissions and restrictions. V3.13:0009 */