Correct feature names
[ACE_TAO.git] / ACE / ace / config-win32-msvc-10.h
blob62dcdae8dd3364f8b41078a4d247870e59631492
1 /* -*- C++ -*- */
2 //=============================================================================
3 /**
4 * @file config-win32-msvc-10.h
6 * @brief Microsoft Visual C++ 10.0 configuration file.
8 * This file is the ACE configuration file for Microsoft Visual C++ version 10.
10 * @note Do not include this file directly, include config-win32.h instead.
12 //=============================================================================
14 #ifndef ACE_CONFIG_WIN32_MSVC_10_H
15 #define ACE_CONFIG_WIN32_MSVC_10_H
16 #include /**/ "ace/pre.h"
18 #ifndef ACE_CONFIG_WIN32_H
19 #error Use config-win32.h in config.h instead of this header
20 #endif /* ACE_CONFIG_WIN32_H */
22 #ifndef ACE_WIN32_VC10
23 # define ACE_WIN32_VC10
24 #endif
26 // Visual C++ 9.0 (.NET) deprecated the old iostreams
27 #if !defined (ACE_HAS_STANDARD_CPP_LIBRARY)
28 #define ACE_HAS_STANDARD_CPP_LIBRARY 1
29 #endif
31 #if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
32 #define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
33 #endif
35 // Windows' timeval is non-conformant (defined in terms of long instead of
36 // time_t) and VC8 changed time_t to a 64-bit value even when compiling a
37 // 32-bit application. Therefore, ace/Time_Value needs to rearrange a few
38 // things for this compiler. See Time_Value.h for complete details.
39 #if !defined (_USE_32BIT_TIME_T)
40 # define ACE_HAS_TIME_T_LONG_MISMATCH
41 #endif
43 #define ACE_HAS_ITOA
44 #define ACE_HAS_HEADER_ALLOCATED_CLASS_STATIC_CONST_INT_STOREAGE
45 #define ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
47 #define ACE_ITOA_EQUIVALENT ::_itoa
48 #define ACE_STRCASECMP_EQUIVALENT ::_stricmp
49 #define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
50 #define ACE_WCSDUP_EQUIVALENT ::_wcsdup
51 #if defined (ACE_HAS_WINCE)
52 # define ACE_FILENO_EQUIVALENT ::_fileno
53 #else
54 # define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
55 #endif
57 // Windows Mobile 6 doesn't do sig_atomic_t, but maybe future versions will.
58 # if !defined (_WIN32_WCE) || (_WIN32_WCE > 0x601)
59 # define ACE_HAS_SIG_ATOMIC_T
60 # endif /* !Win CE 6.0 or less */
62 #define ACE_LACKS_STRPTIME
64 // Evaluate this with a WinCE build; maybe things have improved since VC8.
65 //#if !defined (ACE_HAS_WINCE)
66 # define ACE_HAS_INTRIN_H
67 # define ACE_HAS_INTRINSIC_INTERLOCKED
68 //#endif
70 #if !defined (_WIN32_WCE) || (_WIN32_WCE >= 0x501)
71 # define ACE_HAS_INTRINSIC_BYTESWAP
72 #endif
74 #define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
75 #define ACE_LACKS_STRRECVFD
76 #define ACE_HAS_CPLUSPLUS_HEADERS
78 #define ACE_TEMPLATES_REQUIRE_SOURCE
80 // Platform provides ACE_TLI function prototypes.
81 // For Win32, this is not really true, but saves a lot of hassle!
82 #define ACE_HAS_TLI_PROTOTYPES
84 // Platform support linebuffered streaming is broken
85 #define ACE_LACKS_LINEBUFFERED_STREAMBUF
87 #if defined (ACE_HAS_STANDARD_CPP_LIBRARY) && (ACE_HAS_STANDARD_CPP_LIBRARY != 0)
89 // Platform has its Standard C++ library in the namespace std
90 # if !defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
91 # define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
92 # endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
94 // ace/iostream.h does not work with the standard cpp library (yet).
95 # if !defined (ACE_USES_OLD_IOSTREAMS)
96 # define ACE_LACKS_ACE_IOSTREAM
97 # endif /* ! ACE_USES_OLD_IOSTREAMS */
99 // Starting with MSVC 7.1, std::new throws std::bad_alloc on out-of-memory.
100 #define ACE_NEW_THROWS_EXCEPTIONS
101 #define ACE_HAS_NEW_NOTHROW
103 #else
105 // iostream header lacks ipfx (), isfx (), etc., declarations
106 # define ACE_LACKS_IOSTREAM_FX
108 #endif
110 // There are too many instances of this warning to fix it right now.
111 // Maybe in the future.
113 // Disable warning of using Microsoft Extension.
114 # pragma warning(disable:4231)
116 // 'class1' : inherits 'class2::member' via dominance
117 #pragma warning(disable:4250)
119 // CE (at least thru Windows Mobile 5) doesn't have the new, secure CRT.
120 #if !defined (ACE_HAS_WINCE) && !defined (ACE_HAS_TR24731_2005_CRT)
121 # define ACE_HAS_TR24731_2005_CRT
122 #endif
124 // On CE w/o MFC config-WinCE.h needs to declare a placement new. This
125 // triggers a warning that there's no placement delete, which can be ignored.
126 #if defined (ACE_HAS_WINCE) && !defined (ACE_HAS_MFC)
127 # pragma warning(disable:4291)
128 #endif
130 // A template can not be exported. Only an instantiation may be exported.
131 #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT
133 // At least for ACE_UNIMPLEMENTED_FUNC in class templates, this is needed to
134 // explicitly instantiate a template that has ACE_UNIMPLEMENTED_FUNC.
135 # define ACE_NEEDS_FUNC_DEFINITIONS
137 // Windows Vista and Windows Server 2008 and newer do have native condition
138 // variables, but this is commented out because the support in ACE hasn't
139 // been completed
140 // #if defined (_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600)
141 // # define ACE_HAS_WTHREADS_CONDITION_VARIABLE
142 // # undef ACE_LACKS_COND_T
143 // #endif
145 #include /**/ "ace/post.h"
146 #endif /* ACE_CONFIG_WIN32_MSVC_10_H */