Xalan-C++ API Reference  1.12.0
PlatformDefinitions.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 #if !defined(PLATFORMDEFINITIONS_HEADER_GUARD_1357924680)
20 #define PLATFORMDEFINITIONS_HEADER_GUARD_1357924680
21 
22 #if defined(__cplusplus)
23 # include <xercesc/util/XercesDefs.hpp>
24 #else
25 /* Include xercesc autoconf to define XMLCh when using a 'C' compiler. */
26 # include <xercesc/util/Xerces_autoconf_config.hpp>
27 # include <xercesc/util/XercesVersion.hpp>
28 #endif
29 
30 #if defined(_MSC_VER)
31 
32 #pragma warning(disable: 4127 4146 4251 4284 4345 4351 4355 4511 4512 4514 4521 4702 4710 4711 4786 4097 4503 4786; error: 4150 4172 4238 4239 4715)
33 #include <basetsd.h>
34 
35 // Note: this no longer seems necessary with current MSVC
36 #if !defined(__INTEL_COMPILER) && _MSC_VER >= 1400
37 #define XALAN_AUTO_PTR_REQUIRES_DEFINITION
38 #endif
39 
40 #if defined(_DEBUG) && defined(NDEBUG)
41 #error NDEBUG must not be defined when _DEBUG is defined.
42 #elif !defined(_DEBUG) && !defined(NDEBUG)
43 #error NDEBUG must be defined when _DEBUG is not defined.
44 #endif
45 
46 #endif // _MSC_VER
47 
48 #if defined(__hpux)
49 
50 #if !defined(_HP_NAMESPACE_STD) && defined(RWSTD_MULTI_THREAD) && !defined(__HPACC_THREAD_SAFE_RB_TREE)
51 #define __HPACC_THREAD_SAFE_RB_TREE
52 #endif
53 
54 #endif // __hpux
55 
56 // ---------------------------------------------------------------------------
57 // A define in the build for each project is also used to control whether
58 // the export keyword is from the project's viewpoint or the client's.
59 // These defines provide the platform specific keywords that they need
60 // to do this.
61 // ---------------------------------------------------------------------------
62 #if defined(_MSC_VER)
63 #define XALAN_PLATFORM_EXPORT __declspec(dllexport)
64 #define XALAN_PLATFORM_IMPORT __declspec(dllimport)
65 #define XALAN_PLATFORM_EXPORT_FUNCTION(T) XALAN_PLATFORM_EXPORT T
66 #define XALAN_PLATFORM_IMPORT_FUNCTION(T) XALAN_PLATFORM_IMPORT T
67 #else
68 #define XALAN_PLATFORM_EXPORT
69 #define XALAN_PLATFORM_IMPORT
70 #define XALAN_PLATFORM_EXPORT_FUNCTION(T) T XALAN_PLATFORM_EXPORT
71 #define XALAN_PLATFORM_IMPORT_FUNCTION(T) T XALAN_PLATFORM_IMPORT
72 #endif
73 
74 #define XALAN_HAVE_GMTIME_R 1
75 #define XALAN_HAVE_LOCALTIME_R 1
76 #define XALAN_HAVE_ISNAN 1
77 /* #undef XALAN_HAVE__ISNAN */
78 #define XALAN_HAVE_STD_ISNAN 1
79 
80 #define XALAN_USE_THREAD_STD 1
81 /* #undef XALAN_USE_THREAD_POSIX */
82 /* #undef XALAN_USE_THREAD_WINDOWS */
83 
84 #define XALAN_HAVE_SIGNAL 1
85 /* #undef XALAN_HAVE_WIN32_SET_CONSOLE_CTRL_HANDLER */
86 
87 #define XALAN_HAVE_USLEEP 1
88 /* #undef XALAN_HAVE_WIN32_SLEEP */
89 
90 #define XALAN_HAVE_UNISTD_H 1
91 /* #undef XALAN_HAVE_WIN32_DIRECT_H */
92 
93 /* #undef XALAN_WINDOWS */
94 /* #undef XALAN_WINDOWS_DIR_FUNCTIONS */
95 /* #undef XALAN_NEWLINE_IS_CRLF */
96 /* #undef XALAN_USE_WINDOWS_COLLATION */
97 
98 /* #undef XALAN_NON_ASCII_PLATFORM */
99 
101 
102 #if defined(__cplusplus)
103 
104 // ---------------------------------------------------------------------------
105 // Define namespace symbols if the compiler supports it.
106 // ---------------------------------------------------------------------------
107 namespace XALAN_CPP_NAMESPACE { }
108 namespace xalanc = XALAN_CPP_NAMESPACE;
109 
110 
111 #include <cstddef>
112 
113 
114 namespace XALAN_CPP_NAMESPACE {
115 
116 typedef XMLSize_t XalanSize_t;
117 typedef XMLFilePos XalanFilePos;
118 typedef XMLFileLoc XalanFileLoc;
119 
120 typedef XMLCh XalanDOMChar;
121 typedef unsigned int XalanUnicodeChar;
122 typedef XMLSSize_t XalanSSize_t;
123 
124 template<bool value>
125 struct XalanCompileErrorBoolean
126 {
127  char foo[value];
128 };
129 
130 }
131 
132 
133 #define XALAN_STATIC_ASSERT(expr) xalanc::XalanCompileErrorBoolean<bool(expr)>()
134 
135 
136 
137 #endif // __cplusplus
138 
139 
140 
141 #endif // PLATFORMDEFINITIONS_HEADER_GUARD_1357924680
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition: XalanVersion.hpp:76
xalanc
Simple empty elem to push on the stack when nothing else got pushed, so that pop() works correctly.
Definition: DOMServices.hpp:44
XalanVersion.hpp