Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

PlatformDefinitions.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #if !defined(PLATFORMDEFINITIONS_HEADER_GUARD_1357924680)
17 #define PLATFORMDEFINITIONS_HEADER_GUARD_1357924680
18 
19 #if defined(__cplusplus)
20 #include "xercesc/util/XercesDefs.hpp"
21 #endif
22 
23 #if defined(_MSC_VER)
24 #include "VCPPDefinitions.hpp"
25 #elif defined(__GNUC__)
26 #include "GCCDefinitions.hpp"
27 #elif defined(_AIX)
28 #include "AIXDefinitions.hpp"
29 #elif defined(__hpux)
30 #include "HPUXDefinitions.hpp"
31 #elif defined(SOLARIS)
32 #include "SolarisDefinitions.hpp"
33 #elif defined(OS390)
34 #include "OS390Definitions.hpp"
35 #elif defined(OS400)
36 #include "OS400Definitions.hpp"
37 #elif defined(__DECCXX)
38 #include "TRU64Definitions.hpp"
39 #elif defined(__INTEL_COMPILER)
40 #include "IntelDefinitions.hpp"
41 #else
42 #error Unknown compiler!
43 #endif
44 
45 #include "XalanVersion.hpp"
46 
47 #if defined(__cplusplus)
48 
49 // ---------------------------------------------------------------------------
50 // Define namespace symbols if the compiler supports it.
51 // ---------------------------------------------------------------------------
52 #if defined(XALAN_HAS_CPP_NAMESPACE)
53  #define XALAN_CPP_NAMESPACE_BEGIN namespace XALAN_CPP_NAMESPACE {
54  #define XALAN_CPP_NAMESPACE_END }
55  #define XALAN_CPP_NAMESPACE_USE using namespace XALAN_CPP_NAMESPACE;
56  #define XALAN_CPP_NAMESPACE_QUALIFIER XALAN_CPP_NAMESPACE::
57  #define XALAN_USING(NAMESPACE,NAME) using NAMESPACE :: NAME;
58  #define XALAN_DECLARE_CLASS(NAMESPACE,NAME) namespace NAMESPACE { class NAME; }
59  #define XALAN_DECLARE_STRUCT(NAMESPACE,NAME) namespace NAMESPACE { struct NAME; }
60 
61  namespace XALAN_CPP_NAMESPACE { }
62  namespace xalanc = XALAN_CPP_NAMESPACE;
63 #else
64  #if defined(XALAN_CPP_NAMESPACE)
65  #undef XALAN_CPP_NAMESPACE
66  #endif
67 
68  #define XALAN_CPP_NAMESPACE
69  #define XALAN_CPP_NAMESPACE_BEGIN
70  #define XALAN_CPP_NAMESPACE_END
71  #define XALAN_CPP_NAMESPACE_USE
72  #define XALAN_CPP_NAMESPACE_QUALIFIER
73  #define XALAN_USING(NAMESPACE,NAME)
74  #define XALAN_DECLARE_CLASS(NAMESPACE,NAME) class NAME;
75  #define XALAN_DECLARE_STRUCT(NAMESPACE,NAME) struct NAME;
76  #if !defined(XALAN_NO_STD_NAMESPACE)
77  #define XALAN_NO_STD_NAMESPACE
78  #endif
79 #endif
80 
81 
82 #if defined(XALAN_NO_STD_NAMESPACE)
83  #define XALAN_USING_STD(NAME)
84  #define XALAN_STD_QUALIFIER
85 #else
86  #define XALAN_USING_STD(NAME) using std :: NAME;
87  #define XALAN_STD_QUALIFIER std ::
88 #endif
89 
90 #define XALAN_DECLARE_XALAN_CLASS(NAME) XALAN_DECLARE_CLASS(XALAN_CPP_NAMESPACE, NAME)
91 #define XALAN_DECLARE_XALAN_STRUCT(NAME) XALAN_DECLARE_STRUCT(XALAN_CPP_NAMESPACE, NAME)
92 #define XALAN_USING_XALAN(NAME) XALAN_USING(XALAN_CPP_NAMESPACE, NAME)
93 
94 
95 #if defined(XERCES_HAS_CPP_NAMESPACE)
96  #define XALAN_USING_XERCES(NAME) XALAN_USING(XERCES_CPP_NAMESPACE, NAME)
97  #define XALAN_DECLARE_XERCES_CLASS(NAME) XALAN_DECLARE_CLASS(XERCES_CPP_NAMESPACE, NAME)
98  #define XALAN_DECLARE_XERCES_STRUCT(NAME) XALAN_DECLARE_STRUCT(XERCES_CPP_NAMESPACE, NAME)
99 #else
100  #define XERCES_CPP_NAMESPACE_QUALIFIER
101  #define XERCES_CPP_NAMESPACE_BEGIN
102  #define XERCES_CPP_NAMESPACE_END
103  #define XERCES_CPP_NAMESPACE_USE
104  #define XALAN_USING_XERCES(NAME)
105  #define XALAN_DECLARE_XERCES_CLASS(NAME) class NAME;
106  #define XALAN_DECLARE_XERCES_STRUCT(NAME) struct NAME;
107 #endif
108 
109 
110 
111 #include <cstddef>
112 
113 
114 
115 XALAN_CPP_NAMESPACE_BEGIN
116 #if defined(XALAN_USE_NATIVE_WCHAR_T)
117 typedef wchar_t XalanDOMChar;
118 #else
119 // UTF-16 character...
120 typedef unsigned short XalanDOMChar;
121 #endif
122 
123 template<bool value>
124 struct XalanCompileErrorBoolean
125 {
126  char foo[value];
127 };
128 
129 XALAN_CPP_NAMESPACE_END
130 
131 
132 #define XALAN_STATIC_ASSERT(expr) XALAN_CPP_NAMESPACE_QUALIFIER XalanCompileErrorBoolean<bool(expr)>()
133 
134 
135 
136 #endif // __cplusplus
137 
138 
139 
140 #endif // PLATFORMDEFINITIONS_HEADER_GUARD_1357924680

Interpreting class diagrams

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

dot

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

Apache Logo