Xerces-C++ 3.1.3

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

Xerces_autoconf_config.msvc.hpp
Go to the documentation of this file.
1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 /*
19 * $Id: Xerces_autoconf_config.msvc.hpp 883299 2009-11-23 10:34:54Z amassari $
20 */
21
22 #if !defined(XERCESC_INCLUDE_GUARD_XERCES_AUTOCONFIG_CONFIG_HPP)
23 #define XERCESC_INCLUDE_GUARD_XERCES_AUTOCONFIG_CONFIG_HPP
24
25 //
26 // There are two primary xerces configuration header files:
27 //
28 // Xerces_autoconf_config.hpp
29 //
30 // For configuration of items that must be accessable
31 // through public headers. This file has limited information
32 // and carefully works to avoid collision of macro names, etc.
33 //
34 // This file is included by XercesDefs.h.
35 // This version of the file is specific for Microsoft Visual C++
36 // family of compilers
37 //
38 // config.h
39 //
40 // This file is not used with Microsoft Visual C++; the macros
41 // it would specify are instead hardcoded in the makefiles
42 //
43
44 #include <basetsd.h>
45
46 // silence the warning "while compiling class-template member function xxxx : identifier was truncated to '255'
47 // characters in the browser information"
48 #pragma warning( disable: 4786 )
49
50 // ---------------------------------------------------------------------------
51 // These defines have been hardcoded for the Microsoft Visual C++ compilers
52 // ---------------------------------------------------------------------------
53 #undef XERCES_AUTOCONF
54 #undef XERCES_HAVE_SYS_TYPES_H
55 #undef XERCES_HAVE_INTTYPES_H
56
57 #define XERCES_S16BIT_INT signed short
58 #define XERCES_U16BIT_INT unsigned short
59 #define XERCES_S32BIT_INT INT32
60 #define XERCES_U32BIT_INT UINT32
61
62 // While VC6 has 64-bit int, there is no support in the libraries
63 // (e.g., iostream). So we are going to stick to 32-bit ints.
64 //
65 #if (_MSC_VER >= 1300)
66 # define XERCES_S64BIT_INT INT64
67 # define XERCES_U64BIT_INT UINT64
68 #else
69 # define XERCES_S64BIT_INT INT32
70 # define XERCES_U64BIT_INT UINT32
71 #endif
72
73 #ifdef _NATIVE_WCHAR_T_DEFINED
74 # define XERCES_XMLCH_T wchar_t
75 #else
76 # define XERCES_XMLCH_T unsigned short
77 #endif
78
79 #define XERCES_SIZE_T SIZE_T
80 #define XERCES_SSIZE_T SSIZE_T
81
82 #define XERCES_HAS_CPP_NAMESPACE 1
83 #define XERCES_STD_NAMESPACE 1
84 #define XERCES_NEW_IOSTREAMS 1
85 #undef XERCES_NO_NATIVE_BOOL
86 #define XERCES_LSTRSUPPORT 1
87
88 #ifdef XERCES_STATIC_LIBRARY
89 # define XERCES_PLATFORM_EXPORT
90 # define XERCES_PLATFORM_IMPORT
91 #else
92 # define XERCES_PLATFORM_EXPORT __declspec(dllexport)
93 # define XERCES_PLATFORM_IMPORT __declspec(dllimport)
94 # define DLL_EXPORT
95 #endif
96
97 #define XERCES_MFC_SUPPORT
98
99 #if (_MSC_VER >= 1400)
100 # define XERCES_HAVE_INTRIN_H 1
101 # define XERCES_HAVE_EMMINTRIN_H 1
102 # define XERCES_HAVE_CPUID_INTRINSIC
103 # define XERCES_HAVE_SSE2_INTRINSIC
104 #endif
105
106 // ---------------------------------------------------------------------------
107 // XMLSize_t is the unsigned integral type.
108 // ---------------------------------------------------------------------------
109 typedef XERCES_SIZE_T XMLSize_t;
110 typedef XERCES_SSIZE_T XMLSSize_t;
111
112 // ---------------------------------------------------------------------------
113 // Define our version of the XML character
114 // ---------------------------------------------------------------------------
115 typedef XERCES_XMLCH_T XMLCh;
116
117 // ---------------------------------------------------------------------------
118 // Define unsigned 16, 32, and 64 bit integers
119 // ---------------------------------------------------------------------------
120 typedef XERCES_U16BIT_INT XMLUInt16;
121 typedef XERCES_U32BIT_INT XMLUInt32;
122 typedef XERCES_U64BIT_INT XMLUInt64;
123
124 // ---------------------------------------------------------------------------
125 // Define signed 16, 32, and 64 bit integers
126 // ---------------------------------------------------------------------------
127 typedef XERCES_S16BIT_INT XMLInt16;
128 typedef XERCES_S32BIT_INT XMLInt32;
129 typedef XERCES_S64BIT_INT XMLInt64;
130
131 // ---------------------------------------------------------------------------
132 // XMLFilePos is the type used to represent a file position.
133 // ---------------------------------------------------------------------------
134 typedef XMLUInt64 XMLFilePos;
135
136 // ---------------------------------------------------------------------------
137 // XMLFileLoc is the type used to represent a file location (line/column).
138 // ---------------------------------------------------------------------------
139 typedef XMLUInt64 XMLFileLoc;
140
141 // ---------------------------------------------------------------------------
142 // Force on the Xerces debug token if it is on in the build environment
143 // ---------------------------------------------------------------------------
144 #if defined(_DEBUG)
145 # define XERCES_DEBUG
146 #endif
147
148 #endif