Xerces_autoconf_config.msvc.hpp

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 /*
00019  * $Id: Xerces_autoconf_config.msvc.hpp 679467 2008-07-24 17:24:46Z borisk $
00020  */
00021 
00022 #if !defined(XERCESC_INCLUDE_GUARD_XERCES_AUTOCONFIG_CONFIG_HPP)
00023 #define XERCESC_INCLUDE_GUARD_XERCES_AUTOCONFIG_CONFIG_HPP
00024 
00025 //
00026 // There are two primary xerces configuration header files:
00027 //
00028 //  Xerces_autoconf_config.hpp
00029 //
00030 //      For configuration of items that must be accessable
00031 //  through public headers. This file has limited information
00032 //  and carefully works to avoid collision of macro names, etc.
00033 //
00034 //  This file is included by XercesDefs.h.
00035 //  This version of the file is specific for Microsoft Visual C++
00036 //  family of compilers
00037 //
00038 //  config.h
00039 //
00040 //      This file is not used with Microsoft Visual C++; the macros
00041 //  it would specify are instead hardcoded in the makefiles
00042 //
00043 
00044 #include <basetsd.h>
00045 
00046 // silence the warning "while compiling class-template member function xxxx : identifier was truncated to '255'
00047 // characters in the browser information"
00048 #pragma warning( disable: 4786 )
00049 
00050 // ---------------------------------------------------------------------------
00051 //  These defines have been hardcoded for the Microsoft Visual C++ compilers
00052 // ---------------------------------------------------------------------------
00053 #undef XERCES_AUTOCONF
00054 #undef XERCES_HAVE_SYS_TYPES_H
00055 #undef XERCES_HAVE_INTTYPES_H
00056 
00057 #define XERCES_S16BIT_INT   signed short
00058 #define XERCES_U16BIT_INT   unsigned short
00059 #define XERCES_S32BIT_INT   INT32
00060 #define XERCES_U32BIT_INT   UINT32
00061 
00062 // While VC6 has 64-bit int, there is no support in the libraries
00063 // (e.g., iostream). So we are going to stick to  32-bit ints.
00064 //
00065 #if (_MSC_VER >= 1300)
00066 #  define XERCES_S64BIT_INT   INT64
00067 #  define XERCES_U64BIT_INT   UINT64
00068 #else
00069 #  define XERCES_S64BIT_INT   INT32
00070 #  define XERCES_U64BIT_INT   UINT32
00071 #endif
00072 
00073 #define XERCES_SIZEOF_INT   4
00074 #define XERCES_SIZEOF_LONG  4
00075 
00076 #if (_MSC_VER >= 1300)
00077 #  define XERCES_SIZEOF_INT64 8
00078 #else
00079 #  define XERCES_SIZEOF_INT64 4
00080 #endif
00081 
00082 #ifdef _NATIVE_WCHAR_T_DEFINED
00083 #define XERCES_XMLCH_T      wchar_t
00084 #else
00085 #define XERCES_XMLCH_T      unsigned short
00086 #endif
00087 
00088 #define XERCES_SIZE_T       SIZE_T
00089 #define XERCES_SSIZE_T      SSIZE_T
00090 
00091 #define XERCES_HAS_CPP_NAMESPACE    1
00092 #define XERCES_STD_NAMESPACE        1
00093 #define XERCES_NEW_IOSTREAMS        1
00094 #undef XERCES_NO_NATIVE_BOOL
00095 #define XERCES_LSTRSUPPORT          1
00096 
00097 #ifdef XERCES_STATIC_LIBRARY
00098 #define XERCES_PLATFORM_EXPORT
00099 #define XERCES_PLATFORM_IMPORT
00100 #else
00101 #define XERCES_PLATFORM_EXPORT __declspec(dllexport)
00102 #define XERCES_PLATFORM_IMPORT __declspec(dllimport)
00103 #define DLL_EXPORT
00104 #endif
00105 
00106 #define XERCES_MFC_SUPPORT
00107 
00108 // ---------------------------------------------------------------------------
00109 //  XMLSize_t is the unsigned integral type.
00110 // ---------------------------------------------------------------------------
00111 typedef XERCES_SIZE_T               XMLSize_t;
00112 typedef XERCES_SSIZE_T              XMLSSize_t;
00113 
00114 // ---------------------------------------------------------------------------
00115 //  Define our version of the XML character
00116 // ---------------------------------------------------------------------------
00117 typedef XERCES_XMLCH_T              XMLCh;
00118 
00119 // ---------------------------------------------------------------------------
00120 //  Define unsigned 16, 32, and 64 bit integers
00121 // ---------------------------------------------------------------------------
00122 typedef XERCES_U16BIT_INT           XMLUInt16;
00123 typedef XERCES_U32BIT_INT           XMLUInt32;
00124 typedef XERCES_U64BIT_INT           XMLUInt64;
00125 
00126 // ---------------------------------------------------------------------------
00127 //  Define signed 16, 32, and 64 bit integers
00128 // ---------------------------------------------------------------------------
00129 typedef XERCES_S16BIT_INT           XMLInt16;
00130 typedef XERCES_S32BIT_INT           XMLInt32;
00131 typedef XERCES_S64BIT_INT           XMLInt64;
00132 
00133 // ---------------------------------------------------------------------------
00134 //  XMLFilePos is the type used to represent a file position.
00135 // ---------------------------------------------------------------------------
00136 typedef XMLUInt64                   XMLFilePos;
00137 
00138 // ---------------------------------------------------------------------------
00139 //  XMLFileLoc is the type used to represent a file location (line/column).
00140 // ---------------------------------------------------------------------------
00141 typedef XMLUInt64                   XMLFileLoc;
00142 
00143 // ---------------------------------------------------------------------------
00144 //  Force on the Xerces debug token if it is on in the build environment
00145 // ---------------------------------------------------------------------------
00146 #if defined(_DEBUG)
00147 #define XERCES_DEBUG
00148 #endif
00149 
00150 #endif

Generated on Wed Feb 18 07:56:10 2009 for Xerces-C++ by  doxygen 1.5.4