- Main Page
- Related Pages
- Classes
- Files

# 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 883299 2009-11-23 10:34:54Z amassari $
    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 #ifdef _NATIVE_WCHAR_T_DEFINED
    00074 #  define XERCES_XMLCH_T      wchar_t
    00075 #else
    00076 #  define XERCES_XMLCH_T      unsigned short
    00077 #endif
    00078
    00079 #define XERCES_SIZE_T       SIZE_T
    00080 #define XERCES_SSIZE_T      SSIZE_T
    00081
    00082 #define XERCES_HAS_CPP_NAMESPACE    1
    00083 #define XERCES_STD_NAMESPACE        1
    00084 #define XERCES_NEW_IOSTREAMS        1
    00085 #undef XERCES_NO_NATIVE_BOOL
    00086 #define XERCES_LSTRSUPPORT          1
    00087
    00088 #ifdef XERCES_STATIC_LIBRARY
    00089 #  define XERCES_PLATFORM_EXPORT
    00090 #  define XERCES_PLATFORM_IMPORT
    00091 #else
    00092 #  define XERCES_PLATFORM_EXPORT __declspec(dllexport)
    00093 #  define XERCES_PLATFORM_IMPORT __declspec(dllimport)
    00094 #  define DLL_EXPORT
    00095 #endif
    00096
    00097 #define XERCES_MFC_SUPPORT
    00098
    00099 #if (_MSC_VER >= 1400)
    00100 #  define XERCES_HAVE_INTRIN_H 1
    00101 #  define XERCES_HAVE_EMMINTRIN_H 1
    00102 #  define XERCES_HAVE_CPUID_INTRINSIC
    00103 #  define XERCES_HAVE_SSE2_INTRINSIC
    00104 #endif
    00105
    00106 // ---------------------------------------------------------------------------
    00107 //  XMLSize_t is the unsigned integral type.
    00108 // ---------------------------------------------------------------------------
    00109 typedef XERCES_SIZE_T               XMLSize_t;
    00110 typedef XERCES_SSIZE_T              XMLSSize_t;
    00111
    00112 // ---------------------------------------------------------------------------
    00113 //  Define our version of the XML character
    00114 // ---------------------------------------------------------------------------
    00115 typedef XERCES_XMLCH_T              XMLCh;
    00116
    00117 // ---------------------------------------------------------------------------
    00118 //  Define unsigned 16, 32, and 64 bit integers
    00119 // ---------------------------------------------------------------------------
    00120 typedef XERCES_U16BIT_INT           XMLUInt16;
    00121 typedef XERCES_U32BIT_INT           XMLUInt32;
    00122 typedef XERCES_U64BIT_INT           XMLUInt64;
    00123
    00124 // ---------------------------------------------------------------------------
    00125 //  Define signed 16, 32, and 64 bit integers
    00126 // ---------------------------------------------------------------------------
    00127 typedef XERCES_S16BIT_INT           XMLInt16;
    00128 typedef XERCES_S32BIT_INT           XMLInt32;
    00129 typedef XERCES_S64BIT_INT           XMLInt64;
    00130
    00131 // ---------------------------------------------------------------------------
    00132 //  XMLFilePos is the type used to represent a file position.
    00133 // ---------------------------------------------------------------------------
    00134 typedef XMLUInt64                   XMLFilePos;
    00135
    00136 // ---------------------------------------------------------------------------
    00137 //  XMLFileLoc is the type used to represent a file location (line/column).
    00138 // ---------------------------------------------------------------------------
    00139 typedef XMLUInt64                   XMLFileLoc;
    00140
    00141 // ---------------------------------------------------------------------------
    00142 //  Force on the Xerces debug token if it is on in the build environment
    00143 // ---------------------------------------------------------------------------
    00144 #if defined(_DEBUG)
    00145 #  define XERCES_DEBUG
    00146 #endif
    00147
    00148 #endif