Leaked source code of windows server 2003
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.

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