// xstddef standard header #pragma once #ifndef _XSTDDEF_ #define _XSTDDEF_ #ifndef _YVALS #include #endif #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 /* 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 */