Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:34:28

0001 /*
0002  * Licensed to the Apache Software Foundation (ASF) under one or more
0003  * contributor license agreements.  See the NOTICE file distributed with
0004  * this work for additional information regarding copyright ownership.
0005  * The ASF licenses this file to You under the Apache License, Version 2.0
0006  * (the "License"); you may not use this file except in compliance with
0007  * the License.  You may obtain a copy of the License at
0008  * 
0009  *      http://www.apache.org/licenses/LICENSE-2.0
0010  * 
0011  * Unless required by applicable law or agreed to in writing, software
0012  * distributed under the License is distributed on an "AS IS" BASIS,
0013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014  * See the License for the specific language governing permissions and
0015  * limitations under the License.
0016  */
0017 
0018 /*
0019  * $Id$
0020  */
0021 
0022 #if !defined(XERCESC_INCLUDE_GUARD_XERCESDEFS_HPP)
0023 #define XERCESC_INCLUDE_GUARD_XERCESDEFS_HPP
0024 
0025 // ---------------------------------------------------------------------------
0026 //  The file xerces_hdr_config defines critical configuration information
0027 //  used by the remainder of this file.
0028 //
0029 //  There are two major configuration files:
0030 //      - xerces_autoconf_config.hpp-- Contains defines that are safe for
0031 //                                     access through public headers.
0032 //
0033 //      - config.h                  -- Contains defines that may conflict
0034 //                                     with other packages; should only be
0035 //                                     included by Xerces implementation files.
0036 //
0037 //  Both of these files are generated through the autoconf/configure process.
0038 // ---------------------------------------------------------------------------
0039 
0040 //
0041 // If this is an autoconf configured build, we include Xerces_autoconf_config.hpp
0042 // Otherwise we include a preconfigured config appropriate for the particular
0043 // platform that the specific makefile should copy over.
0044 //
0045 //  If the next line generates an error then you haven't run ./configure
0046 #include    <xercesc/util/Xerces_autoconf_config.hpp>
0047 
0048 // ---------------------------------------------------------------------------
0049 //  Include the Xerces version information; this is kept in a separate file to
0050 //  make modification simple and obvious. Updates to the version header file
0051 // ---------------------------------------------------------------------------
0052 #include    <xercesc/util/XercesVersion.hpp>
0053 
0054 
0055 // ---------------------------------------------------------------------------
0056 //  Some general typedefs that are defined for internal flexibility.
0057 //
0058 //  Note  that UTF16Ch is fixed at 16 bits, whereas XMLCh floats in size per
0059 //  platform, to whatever is the native wide char format there. UCS4Ch is
0060 //  fixed at 32 bits. The types we defined them in terms of are defined per
0061 //  compiler, using whatever types are the right ones for them to get these
0062 //  16/32 bit sizes.
0063 //
0064 // ---------------------------------------------------------------------------
0065 typedef unsigned char       XMLByte;
0066 typedef XMLUInt16           UTF16Ch;
0067 typedef XMLUInt32           UCS4Ch;
0068 
0069 
0070 // ---------------------------------------------------------------------------
0071 //  Handle boolean. If the platform can handle booleans itself, then we
0072 //  map our boolean type to the native type. Otherwise we create a default
0073 //  one as an int and define const values for true and false.
0074 //
0075 //  This flag will be set in the per-development environment stuff above.
0076 // ---------------------------------------------------------------------------
0077 #if defined(XERCES_NO_NATIVE_BOOL)
0078   #ifndef bool
0079     typedef int     bool;
0080   #endif
0081   #ifndef true
0082     #define  true     1
0083   #endif
0084   #ifndef false
0085     #define false 0
0086   #endif
0087 #endif
0088 
0089 // ---------------------------------------------------------------------------
0090 //  According to whether the compiler supports L"" type strings, we define
0091 //  the XMLStrL() macro one way or another.
0092 // ---------------------------------------------------------------------------
0093 #if defined(XERCES_LSTRSUPPORT)
0094 #define XMLStrL(str)  L##str
0095 #else
0096 #define XMLStrL(str)  str
0097 #endif
0098 
0099 
0100 // ---------------------------------------------------------------------------
0101 // Define namespace symbols if the compiler supports it.
0102 // ---------------------------------------------------------------------------
0103 #if defined(XERCES_HAS_CPP_NAMESPACE)
0104     #define XERCES_CPP_NAMESPACE_BEGIN namespace XERCES_CPP_NAMESPACE {
0105     #define XERCES_CPP_NAMESPACE_END  }
0106     #define XERCES_CPP_NAMESPACE_USE using namespace XERCES_CPP_NAMESPACE;
0107     #define XERCES_CPP_NAMESPACE_QUALIFIER XERCES_CPP_NAMESPACE::
0108 
0109     namespace XERCES_CPP_NAMESPACE { }
0110     namespace xercesc = XERCES_CPP_NAMESPACE;
0111 #else
0112     #define XERCES_CPP_NAMESPACE_BEGIN
0113     #define XERCES_CPP_NAMESPACE_END
0114     #define XERCES_CPP_NAMESPACE_USE
0115     #define XERCES_CPP_NAMESPACE_QUALIFIER
0116 #endif
0117 
0118 #if defined(XERCES_STD_NAMESPACE)
0119     #define XERCES_USING_STD(NAME) using std :: NAME;
0120     #define XERCES_STD_QUALIFIER  std ::
0121 #else
0122     #define XERCES_USING_STD(NAME)
0123     #define XERCES_STD_QUALIFIER 
0124 #endif
0125 
0126 
0127 // ---------------------------------------------------------------------------
0128 //  Set up the import/export keyword  for our core projects. The
0129 //  PLATFORM_XXXX keywords are set in the per-development environment
0130 //  include above.
0131 // ---------------------------------------------------------------------------
0132 
0133 // The DLL_EXPORT flag should be defined on the command line during the build of a DLL
0134 // configure conspires to make this happen.
0135 
0136 #if defined(DLL_EXPORT)
0137   #if defined(XERCES_BUILDING_LIBRARY)
0138     #define XMLUTIL_EXPORT XERCES_PLATFORM_EXPORT
0139     #define XMLPARSER_EXPORT XERCES_PLATFORM_EXPORT
0140     #define SAX_EXPORT XERCES_PLATFORM_EXPORT
0141     #define SAX2_EXPORT XERCES_PLATFORM_EXPORT
0142     #define CDOM_EXPORT XERCES_PLATFORM_EXPORT
0143     #define PARSERS_EXPORT  XERCES_PLATFORM_EXPORT
0144     #define VALIDATORS_EXPORT  XERCES_PLATFORM_EXPORT
0145     #define XINCLUDE_EXPORT  XERCES_PLATFORM_EXPORT
0146   #else
0147     #define XMLUTIL_EXPORT XERCES_PLATFORM_IMPORT
0148     #define XMLPARSER_EXPORT XERCES_PLATFORM_IMPORT
0149     #define SAX_EXPORT XERCES_PLATFORM_IMPORT
0150     #define SAX2_EXPORT XERCES_PLATFORM_IMPORT
0151     #define CDOM_EXPORT XERCES_PLATFORM_IMPORT
0152     #define PARSERS_EXPORT  XERCES_PLATFORM_IMPORT
0153     #define VALIDATORS_EXPORT  XERCES_PLATFORM_IMPORT
0154     #define XINCLUDE_EXPORT  XERCES_PLATFORM_IMPORT
0155   #endif
0156   #if defined(XERCES_BUILDING_DEPRECATED_LIBRARY)
0157     #define DEPRECATED_DOM_EXPORT XERCES_PLATFORM_EXPORT
0158   #else
0159     #define DEPRECATED_DOM_EXPORT XERCES_PLATFORM_IMPORT
0160   #endif
0161 #else
0162   #define XMLUTIL_EXPORT 
0163   #define XMLPARSER_EXPORT 
0164   #define SAX_EXPORT 
0165   #define SAX2_EXPORT
0166   #define CDOM_EXPORT
0167   #define DEPRECATED_DOM_EXPORT 
0168   #define PARSERS_EXPORT 
0169   #define VALIDATORS_EXPORT
0170   #define XINCLUDE_EXPORT
0171 #endif
0172 
0173 #endif