Source code of Windows XP (NT5)
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.

175 lines
3.5 KiB

  1. #pragma once
  2. #ifndef _STLXSTDD_H_
  3. #define _STLXSTDD_H_
  4. //#ifndef _YVALS
  5. //#include <yvals.h>
  6. //#endif
  7. //#include <cstddef>
  8. #include <stddef.h>
  9. /*
  10. // Define _CRTIMP
  11. #ifndef _CRTIMP
  12. #ifdef CRTDLL2
  13. #define _CRTIMP __declspec(dllexport)
  14. #else // ndef CRTDLL2
  15. #ifdef _DLL
  16. #define _CRTIMP __declspec(dllimport)
  17. #else // ndef _DLL
  18. #define _CRTIMP
  19. #endif // _DLL
  20. #endif // CRTDLL2
  21. #endif // _CRTIMP
  22. */
  23. #ifdef _MSC_VER
  24. #pragma pack(push,8)
  25. #endif /* _MSC_VER */
  26. // begin yyvals.h include
  27. #pragma warning(disable: 4244)
  28. //#pragma warning(4: 4018 4114 4146 4244 4245)
  29. //#pragma warning(4: 4663 4664 4665)
  30. //#pragma warning(disable: 4237 4514)
  31. // 4284:
  32. // return type for 'identifier::operator �>' is not a UDT or reference to a
  33. // UDT. Will produce errors if applied using infix notation
  34. //
  35. #pragma warning(disable: 4284)
  36. // 4290: C++ Exception Specification ignored
  37. // A function was declared using exception specification.
  38. // At this time the implementation details of exception specification have
  39. // not been standardized, and are accepted but not implemented in Microsoft
  40. // Visual C++.
  41. //
  42. #pragma warning(disable: 4290)
  43. // NAMESPACE
  44. #if defined(__cplusplus)
  45. #define _STD std::
  46. #define _STD_BEGIN namespace std {
  47. #define _STD_END };
  48. #define _STD_USING
  49. #else
  50. #define _STD ::
  51. #define _STD_BEGIN
  52. #define _STD_END
  53. #endif // __cplusplus
  54. _STD_BEGIN
  55. // TYPE bool
  56. #if defined(__cplusplus)
  57. typedef bool _Bool;
  58. #endif // __cplusplus
  59. // INTEGER PROPERTIES
  60. #define _MAX_EXP_DIG 8 // for parsing numerics
  61. #define _MAX_INT_DIG 32
  62. #define _MAX_SIG_DIG 36
  63. // STDIO PROPERTIES
  64. #define _Filet _iobuf
  65. #ifndef _FPOS_T_DEFINED
  66. #define _FPOSOFF(fp) ((long)(fp))
  67. #endif // _FPOS_T_DEFINED
  68. // NAMING PROPERTIES
  69. #if defined(__cplusplus)
  70. #define _C_LIB_DECL extern "C" {
  71. #define _END_C_LIB_DECL }
  72. #else
  73. #define _C_LIB_DECL
  74. #define _END_C_LIB_DECL
  75. #endif // __cplusplus
  76. #define _CDECL
  77. /*
  78. // CLASS _Lockit
  79. #if defined(__cplusplus)
  80. class _CRTIMP _Lockit
  81. { // lock while object in existence
  82. public:
  83. #ifdef _MT
  84. #define _LOCKIT(x) lockit x
  85. _Lockit();
  86. ~_Lockit();
  87. #else
  88. #define _LOCKIT(x)
  89. _Lockit()
  90. {
  91. }
  92. ~_Lockit()
  93. {
  94. }
  95. #endif // _MT
  96. };
  97. #endif // __cplusplus
  98. */
  99. // MISCELLANEOUS MACROS
  100. #define _L(c) L##c
  101. #define _Mbstinit(x) mbstate_t x = {0}
  102. #define _MAX _cpp_max
  103. #define _MIN _cpp_min
  104. // end yyvals.h include
  105. // EXCEPTION MACROS
  106. //#define _TRY_BEGIN try {
  107. //#define _CATCH(x) } catch (x) {
  108. //#define _CATCH_ALL } catch (...) {
  109. //#define _CATCH_END }
  110. #define _RAISE(x) throw (x)
  111. //#define _RERAISE throw
  112. #define _THROW0() throw ()
  113. #define _THROW1(x) throw (x)
  114. #define _THROW(x, y) throw x(y)
  115. // explicit KEYWORD
  116. // BITMASK MACROS
  117. #define _BITMASK(E, T) typedef int T
  118. #define _BITMASK_OPS(T)
  119. // MISCELLANEOUS MACROS
  120. #define _DESTRUCTOR(ty, ptr) (ptr)->~ty()
  121. #define _PROTECTED public
  122. #define _TDEF(x) = x
  123. #define _TDEF2(x, y) = x, y
  124. #define _CNTSIZ(iter) ptrdiff_t
  125. #define _TDEFP(x)
  126. #define _STCONS(ty, name, val) enum {name = val}
  127. // TYPE DEFINITIONS
  128. enum _Uninitialized
  129. {
  130. _Noinit
  131. };
  132. // FUNCTIONS
  133. /*_CRTIMP*/
  134. void __cdecl _Nomemory();
  135. _STD_END
  136. #ifdef _MSC_VER
  137. #pragma pack(pop)
  138. #endif /* _MSC_VER */
  139. #endif /* _STLXSTDD_H_ */
  140. /*
  141. * Copyright (c) 1995 by P.J. Plauger. ALL RIGHTS RESERVED.
  142. * Consult your license regarding permissions and restrictions.
  143. */