Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PlatformDefinitions.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2004 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 #if !defined(PLATFORMDEFINITIONS_HEADER_GUARD_1357924680)
00017 #define PLATFORMDEFINITIONS_HEADER_GUARD_1357924680
00018 
00019 #if defined(__cplusplus)
00020 #include "xercesc/util/XercesDefs.hpp"
00021 #endif
00022 
00023 #if defined(_MSC_VER)
00024 #include "VCPPDefinitions.hpp"
00025 #elif defined(__GNUC__)
00026 #include "GCCDefinitions.hpp"
00027 #elif defined(_AIX)
00028 #include "AIXDefinitions.hpp"
00029 #elif defined(__hpux)
00030 #include "HPUXDefinitions.hpp"
00031 #elif defined(SOLARIS)
00032 #include "SolarisDefinitions.hpp"
00033 #elif defined(OS390)
00034 #include "OS390Definitions.hpp"
00035 #elif defined(OS400)
00036 #include "OS400Definitions.hpp"
00037 #elif defined(__DECCXX)
00038 #include "TRU64Definitions.hpp"
00039 #elif defined(__INTEL_COMPILER)
00040 #include "IntelDefinitions.hpp"
00041 #else
00042 #error Unknown compiler!
00043 #endif
00044 
00045 #include "XalanVersion.hpp"
00046 
00047 #if defined(__cplusplus)
00048 
00049 // ---------------------------------------------------------------------------
00050 // Define namespace symbols if the compiler supports it.
00051 // ---------------------------------------------------------------------------
00052 #if defined(XALAN_HAS_CPP_NAMESPACE)
00053     #define XALAN_CPP_NAMESPACE_BEGIN namespace XALAN_CPP_NAMESPACE {
00054     #define XALAN_CPP_NAMESPACE_END  }
00055     #define XALAN_CPP_NAMESPACE_USE using namespace XALAN_CPP_NAMESPACE;
00056     #define XALAN_CPP_NAMESPACE_QUALIFIER XALAN_CPP_NAMESPACE::
00057     #define XALAN_USING(NAMESPACE,NAME) using NAMESPACE :: NAME;
00058     #define XALAN_DECLARE_CLASS(NAMESPACE,NAME) namespace NAMESPACE { class NAME; }
00059     #define XALAN_DECLARE_STRUCT(NAMESPACE,NAME) namespace NAMESPACE { struct NAME; }
00060 
00061     namespace XALAN_CPP_NAMESPACE { }
00062     namespace xalanc = XALAN_CPP_NAMESPACE;
00063 #else
00064     #if defined(XALAN_CPP_NAMESPACE)
00065     #undef XALAN_CPP_NAMESPACE
00066     #endif
00067 
00068     #define XALAN_CPP_NAMESPACE
00069     #define XALAN_CPP_NAMESPACE_BEGIN
00070     #define XALAN_CPP_NAMESPACE_END
00071     #define XALAN_CPP_NAMESPACE_USE
00072     #define XALAN_CPP_NAMESPACE_QUALIFIER
00073     #define XALAN_USING(NAMESPACE,NAME)
00074     #define XALAN_DECLARE_CLASS(NAMESPACE,NAME) class NAME;
00075     #define XALAN_DECLARE_STRUCT(NAMESPACE,NAME) struct NAME;
00076     #if !defined(XALAN_NO_STD_NAMESPACE)
00077         #define XALAN_NO_STD_NAMESPACE
00078     #endif
00079 #endif
00080 
00081 
00082 #if defined(XALAN_NO_STD_NAMESPACE)
00083     #define XALAN_USING_STD(NAME)
00084     #define XALAN_STD_QUALIFIER 
00085 #else
00086     #define XALAN_USING_STD(NAME) using std :: NAME;
00087     #define XALAN_STD_QUALIFIER  std ::
00088 #endif
00089 
00090 #define XALAN_DECLARE_XALAN_CLASS(NAME) XALAN_DECLARE_CLASS(XALAN_CPP_NAMESPACE, NAME)
00091 #define XALAN_DECLARE_XALAN_STRUCT(NAME) XALAN_DECLARE_STRUCT(XALAN_CPP_NAMESPACE, NAME)
00092 #define XALAN_USING_XALAN(NAME) XALAN_USING(XALAN_CPP_NAMESPACE, NAME)
00093 
00094 
00095 #if defined(XERCES_HAS_CPP_NAMESPACE)
00096     #define XALAN_USING_XERCES(NAME) XALAN_USING(XERCES_CPP_NAMESPACE, NAME)
00097     #define XALAN_DECLARE_XERCES_CLASS(NAME) XALAN_DECLARE_CLASS(XERCES_CPP_NAMESPACE, NAME)
00098     #define XALAN_DECLARE_XERCES_STRUCT(NAME) XALAN_DECLARE_STRUCT(XERCES_CPP_NAMESPACE, NAME)
00099 #else
00100     #define XERCES_CPP_NAMESPACE_QUALIFIER
00101     #define XERCES_CPP_NAMESPACE_BEGIN
00102     #define XERCES_CPP_NAMESPACE_END
00103     #define XERCES_CPP_NAMESPACE_USE
00104     #define XALAN_USING_XERCES(NAME)
00105     #define XALAN_DECLARE_XERCES_CLASS(NAME) class NAME;
00106     #define XALAN_DECLARE_XERCES_STRUCT(NAME) struct NAME;
00107 #endif
00108 
00109 
00110 
00111 #include <cstddef>
00112 
00113 
00114 
00115 XALAN_CPP_NAMESPACE_BEGIN
00116 #if defined(XALAN_USE_NATIVE_WCHAR_T)
00117 typedef wchar_t         XalanDOMChar;
00118 #else
00119 // UTF-16 character...
00120 typedef unsigned short  XalanDOMChar;
00121 #endif
00122 
00123 template<bool value>
00124 struct XalanCompileErrorBoolean
00125 {
00126     char    foo[value];
00127 };
00128  
00129 XALAN_CPP_NAMESPACE_END
00130 
00131 
00132 #define XALAN_STATIC_ASSERT(expr) XALAN_CPP_NAMESPACE_QUALIFIER XalanCompileErrorBoolean<bool(expr)>()
00133 
00134 
00135 
00136 #endif // __cplusplus
00137 
00138 
00139 
00140 #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