Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


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 #include "VCPPDefinitions.hpp"
32 #elif defined(__GNUC__)
33 #include "GCCDefinitions.hpp"
34 #elif defined(_AIX)
35 #include "AIXDefinitions.hpp"
36 #elif defined(__hpux)
37 #include "HPUXDefinitions.hpp"
38 #elif defined(SOLARIS)
39 #include "SolarisDefinitions.hpp"
40 #elif defined(OS390)
41 #include "OS390Definitions.hpp"
42 #elif defined(OS400)
43 #include "OS400Definitions.hpp"
44 #elif defined(__DECCXX)
45 #include "TRU64Definitions.hpp"
46 #elif defined(__INTEL_COMPILER)
47 #include "IntelDefinitions.hpp"
48 #elif defined(__IBMCPP__) && defined(__TOS_LINUX__)
49 // This is for Linux PPC using the IBM xlC compiler.
50 #include "AIXDefinitions.hpp"
51 #else
52 #error Unknown compiler!
53 #endif
54 
55 #include "XalanVersion.hpp"
56 
57 #if defined(__cplusplus)
58 
59 // ---------------------------------------------------------------------------
60 // Define namespace symbols if the compiler supports it.
61 // ---------------------------------------------------------------------------
62 #if defined(XALAN_HAS_CPP_NAMESPACE)
63  #define XALAN_CPP_NAMESPACE_BEGIN namespace XALAN_CPP_NAMESPACE {
64  #define XALAN_CPP_NAMESPACE_END }
65  #define XALAN_CPP_NAMESPACE_USE using namespace XALAN_CPP_NAMESPACE;
66  #define XALAN_CPP_NAMESPACE_QUALIFIER XALAN_CPP_NAMESPACE::
67  #define XALAN_USING(NAMESPACE,NAME) using NAMESPACE :: NAME;
68  #define XALAN_DECLARE_CLASS(NAMESPACE,NAME) namespace NAMESPACE { class NAME; }
69  #define XALAN_DECLARE_STRUCT(NAMESPACE,NAME) namespace NAMESPACE { struct NAME; }
70 
71  namespace XALAN_CPP_NAMESPACE { }
72  namespace xalanc = XALAN_CPP_NAMESPACE;
73 #else
74  #if defined(XALAN_CPP_NAMESPACE)
75  #undef XALAN_CPP_NAMESPACE
76  #endif
77 
78  #define XALAN_CPP_NAMESPACE
79  #define XALAN_CPP_NAMESPACE_BEGIN
80  #define XALAN_CPP_NAMESPACE_END
81  #define XALAN_CPP_NAMESPACE_USE
82  #define XALAN_CPP_NAMESPACE_QUALIFIER
83  #define XALAN_USING(NAMESPACE,NAME)
84  #define XALAN_DECLARE_CLASS(NAMESPACE,NAME) class NAME;
85  #define XALAN_DECLARE_STRUCT(NAMESPACE,NAME) struct NAME;
86  #if !defined(XALAN_NO_STD_NAMESPACE)
87  #define XALAN_NO_STD_NAMESPACE
88  #endif
89 #endif
90 
91 
92 #if defined(XALAN_NO_STD_NAMESPACE)
93  #define XALAN_USING_STD(NAME)
94  #define XALAN_STD_QUALIFIER
95 #else
96  #define XALAN_USING_STD(NAME) using std :: NAME;
97  #define XALAN_STD_QUALIFIER std ::
98 #endif
99 
100 #define XALAN_DECLARE_XALAN_CLASS(NAME) XALAN_DECLARE_CLASS(XALAN_CPP_NAMESPACE, NAME)
101 #define XALAN_DECLARE_XALAN_STRUCT(NAME) XALAN_DECLARE_STRUCT(XALAN_CPP_NAMESPACE, NAME)
102 #define XALAN_USING_XALAN(NAME) XALAN_USING(XALAN_CPP_NAMESPACE, NAME)
103 
104 
105 #if defined(XERCES_HAS_CPP_NAMESPACE)
106  #define XALAN_USING_XERCES(NAME) XALAN_USING(XERCES_CPP_NAMESPACE, NAME)
107  #define XALAN_DECLARE_XERCES_CLASS(NAME) XALAN_DECLARE_CLASS(XERCES_CPP_NAMESPACE, NAME)
108  #define XALAN_DECLARE_XERCES_STRUCT(NAME) XALAN_DECLARE_STRUCT(XERCES_CPP_NAMESPACE, NAME)
109 #else
110  #define XERCES_CPP_NAMESPACE_QUALIFIER
111  #define XERCES_CPP_NAMESPACE_BEGIN
112  #define XERCES_CPP_NAMESPACE_END
113  #define XERCES_CPP_NAMESPACE_USE
114  #define XALAN_USING_XERCES(NAME)
115  #define XALAN_DECLARE_XERCES_CLASS(NAME) class NAME;
116  #define XALAN_DECLARE_XERCES_STRUCT(NAME) struct NAME;
117 #endif
118 
119 
120 
121 #include <cstddef>
122 
123 
124 
125 XALAN_CPP_NAMESPACE_BEGIN
126 
127 #if XERCES_VERSION_MAJOR < 3
128 typedef unsigned int XalanSize_t;
129 typedef unsigned int XalanFilePos;
130 typedef XMLSSize_t XalanFileLoc;
131 #else
132 typedef XMLSize_t XalanSize_t;
133 typedef XMLFilePos XalanFilePos;
134 typedef XMLFileLoc XalanFileLoc;
135 #endif
136 
137 typedef XMLCh XalanDOMChar;
138 typedef unsigned int XalanUnicodeChar;
139 typedef XMLSSize_t XalanSSize_t;
140 
141 template<bool value>
142 struct XalanCompileErrorBoolean
143 {
144  char foo[value];
145 };
146 
147 XALAN_CPP_NAMESPACE_END
148 
149 
150 #if !defined(XALAN_NO_LONG_LONG)
151 typedef unsigned long long XALAN_UINT64;
152 typedef long long XALAN_INT64;
153 #endif
154 
155 #define XALAN_STATIC_ASSERT(expr) XALAN_CPP_NAMESPACE_QUALIFIER XalanCompileErrorBoolean<bool(expr)>()
156 
157 
158 
159 #endif // __cplusplus
160 
161 
162 
163 #endif // PLATFORMDEFINITIONS_HEADER_GUARD_1357924680
#define XALAN_CPP_NAMESPACE
UINT64 XALAN_UINT64
INT64 XALAN_INT64

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.11
Copyright © 1999-2012 The Apache Software Foundation.
All Rights Reserved.

Apache Logo