1 // xstddef standard header
2 #pragma once
3 #ifndef _XSTDDEF_
4 #define _XSTDDEF_
5 #ifndef RC_INVOKED
6 #ifndef _YVALS
7  #include <yvals.h>
8 #endif /* _YVALS */
9
10 #include <cstddef>
11
12 #ifdef _MSC_VER
13  #pragma pack(push,_CRT_PACKING)
14  #pragma warning(push,3)
15 #endif  /* _MSC_VER */
16
17 _STD_BEGIN
18
19         // EXCEPTION MACROS
20  #define _THROWS(x)
21
22  #if _HAS_EXCEPTIONS
23  #define _TRY_BEGIN    try {
24  #define _CATCH(x)    } catch (x) {
25  #define _CATCH_ALL    } catch (...) {
26  #define _CATCH_END    }
27
28  #define _RAISE(x)    throw x
29  #define _RERAISE    throw
30
31  #ifndef _THROWS
32   #define _THROWS(x)    throw (x)
33  #endif /* _THROWS */
34
35  #define _THROW0()    throw ()
36  #define _THROW1(x)    throw (...)
37
38  #define _THROW(x, y)    throw x(y)
39  #define _THROW_NCEE(x, y)    _THROW(x, y)
40
41  #else /* _HAS_EXCEPTIONS */
42  #define _TRY_BEGIN    {{
43  #define _CATCH(x)    } if (0) {
44  #define _CATCH_ALL    } if (0) {
45  #define _CATCH_END    }}
46
47   #define _RAISE(x)    std::_Throw(x)
48
49  #define _RERAISE
50
51  #ifndef _THROWS
52   #define _THROWS(x)
53  #endif /* _THROWS */
54
55  #define _THROW0()
56  #define _THROW1(x)
57  #define _THROW(x, y)    x(y)._Raise()
58  #define _THROW_NCEE(x, y)    _THROW(x, y)
59  #endif /* _HAS_EXCEPTIONS */
Lines 60 ... 69 are skipped.
70 #define _MESG(str)    str
71 #define _PROTECTED    protected
72
73  #define _TDEF(x)        = x
74  #define _TDEF2(x, y)    = x, y
75
76  #define _STCONS(ty, name, val)    static const ty name = (ty)(val)
77  #if !defined(_MSC_EXTENSIONS) && !(defined(_DLL) && !defined(_STATIC_CPPLIB))
78   // Under /Ze, static const members are automatically defined, so provide a
79   // definition only under /Za, and only when __declspec(dllimport) not used.
80   #define _STCONSDEF(cls, ty, name)    __declspec(selectany) const ty cls::name;
81  #else
82   #define _STCONSDEF(cls, ty, name)
83  #endif
84
85  #ifndef _XSTD
86   #define _X_STD_BEGIN    _STD_BEGIN
87   #define _X_STD_END    _STD_END
88   #define _XSTD    std::/* LEAVE SPACE */
89  #endif /* _XSTD */
90
91         // TYPE DEFINITIONS
92 enum _Uninitialized
93     {    // tag for suppressing initialization
94     _Noinit};
95
96  #ifndef _CONVERTIBLE_TO_TRUE
97   #define _CONVERTIBLE_TO_TRUE    (&_STD _Bool_struct::_Member)
98
99 struct _Bool_struct
100     {    // define member just for its address
101     int _Member;
102     };
103
104 typedef int _Bool_struct::* _Bool_type;
105  #endif /* _CONVERTIBLE_TO_TRUE */
106 _STD_END
107 #ifdef _MSC_VER
108  #pragma warning(pop)
109  #pragma pack(pop)
110 #endif  /* _MSC_VER */
111
112 #endif /* RC_INVOKED */
113 #endif /* _XSTDDEF_ */
114
115 /*
116  * Copyright (c) 1992-2006 by P.J. Plauger.  ALL RIGHTS RESERVED.
117  * Consult your license regarding permissions and restrictions.
118  V5.02:0009 */
119
120
121