]> git.saurik.com Git - wxWidgets.git/blob - include/wx/beforestd.h
added and documented wx_const/static_cast<>
[wxWidgets.git] / include / wx / beforestd.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: include/wx/beforestd.h
3 // Purpose: #include before STL headers
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 07/07/03
7 // RCS-ID: $Id$
8 // Copyright: (c) 2003 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11
12 /**
13 Unfortunately, when compiling at maximum warning level, the standard
14 headers themselves may generate warnings -- and really lots of them. So
15 before including them, this header should be included to temporarily
16 suppress the warnings and after this the header afterstd.h should be
17 included to enable them back again.
18
19 Note that there are intentionally no inclusion guards in this file, because
20 it can be included several times.
21 */
22
23 // VC 7.x isn't as bad as VC6 and doesn't give these warnings
24 #if defined(__VISUALC__) && __VISUALC__ <= 1200
25 // MSVC 5 does not have this
26 #if __VISUALC__ > 1100
27 #pragma warning(push, 1)
28 #else // VC 5
29 // 'expression' : signed/unsigned mismatch
30 #pragma warning(disable:4018)
31
32 // 'conversion' : conversion from 'type1' to 'type2',
33 // possible loss of data
34 #pragma warning(disable:4244)
35
36 // C++ language change: to explicitly specialize class template
37 // 'identifier' use the following syntax
38 #pragma warning(disable:4663)
39 #endif
40
41 // these warning have to be disabled and not just temporarily disabled
42 // because they will be given at the end of the compilation of the
43 // current source and there is absolutely nothing we can do about them
44
45 // 'foo': unreferenced inline function has been removed
46 #pragma warning(disable:4514)
47
48 // 'function' : function not inlined
49 #pragma warning(disable:4710)
50
51 // 'id': identifier was truncated to 'num' characters in the debug info
52 #pragma warning(disable:4786)
53 #endif // VC++ < 7
54