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// ---------------------------------------------------------------------------
107namespace XALAN_CPP_NAMESPACE { }
108namespace xalanc = XALAN_CPP_NAMESPACE;
109
110
111#include <cstddef>
112
113
114namespace XALAN_CPP_NAMESPACE {
115
116typedef XMLSize_t XalanSize_t;
117typedef XMLFilePos XalanFilePos;
118typedef XMLFileLoc XalanFileLoc;
119
120typedef XMLCh XalanDOMChar;
121typedef unsigned int XalanUnicodeChar;
122typedef XMLSSize_t XalanSSize_t;
123
124template<bool value>
125struct 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
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Simple empty elem to push on the stack when nothing else got pushed, so that pop() works correctly.