Added --use-stl to cnfigure, wxUSE_STL to setup0.h
Moved wx/datetime.inl contents to wx/datetime.h and removed
inline redefinition hack.
Implemented STL-like interface on top of wxList/wxArray, when wxUSE_STL=0.
Implemented wxList-like and wxArray interfaces on top of std::list and
std::vector, when wxUSE_STL=1.
Added arrstr.h, moved wxArrayString declaration there; string.h
#includes arrstr.h only if WXWIN_COMPATIBILITY_2_4 is enabled.
Added WX_CLEAR_HASH_MAP, WX_CLEAR_HASH_TABLE, WX_CLEAR_LIST macros,
to clear a wxHashMap, wxHashTable, wxList containing pointers: deletes
pointers and makes container zero-sized.
When wxUSE_STL=1, wxStringList works like a std::list<wxString>.
Made wxBase compile when wxUSE_STL=1.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-08 15:52:35 -04:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2010-07-13 09:29:58 -04:00
|
|
|
// Name: wx/beforestd.h
|
Added --use-stl to cnfigure, wxUSE_STL to setup0.h
Moved wx/datetime.inl contents to wx/datetime.h and removed
inline redefinition hack.
Implemented STL-like interface on top of wxList/wxArray, when wxUSE_STL=0.
Implemented wxList-like and wxArray interfaces on top of std::list and
std::vector, when wxUSE_STL=1.
Added arrstr.h, moved wxArrayString declaration there; string.h
#includes arrstr.h only if WXWIN_COMPATIBILITY_2_4 is enabled.
Added WX_CLEAR_HASH_MAP, WX_CLEAR_HASH_TABLE, WX_CLEAR_LIST macros,
to clear a wxHashMap, wxHashTable, wxList containing pointers: deletes
pointers and makes container zero-sized.
When wxUSE_STL=1, wxStringList works like a std::list<wxString>.
Made wxBase compile when wxUSE_STL=1.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-08 15:52:35 -04:00
|
|
|
// Purpose: #include before STL headers
|
|
|
|
// Author: Vadim Zeitlin
|
|
|
|
// Modified by:
|
|
|
|
// Created: 07/07/03
|
|
|
|
// Copyright: (c) 2003 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
2004-05-23 16:53:33 -04:00
|
|
|
// Licence: wxWindows licence
|
Added --use-stl to cnfigure, wxUSE_STL to setup0.h
Moved wx/datetime.inl contents to wx/datetime.h and removed
inline redefinition hack.
Implemented STL-like interface on top of wxList/wxArray, when wxUSE_STL=0.
Implemented wxList-like and wxArray interfaces on top of std::list and
std::vector, when wxUSE_STL=1.
Added arrstr.h, moved wxArrayString declaration there; string.h
#includes arrstr.h only if WXWIN_COMPATIBILITY_2_4 is enabled.
Added WX_CLEAR_HASH_MAP, WX_CLEAR_HASH_TABLE, WX_CLEAR_LIST macros,
to clear a wxHashMap, wxHashTable, wxList containing pointers: deletes
pointers and makes container zero-sized.
When wxUSE_STL=1, wxStringList works like a std::list<wxString>.
Made wxBase compile when wxUSE_STL=1.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-08 15:52:35 -04:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
Unfortunately, when compiling at maximum warning level, the standard
|
|
|
|
headers themselves may generate warnings -- and really lots of them. So
|
|
|
|
before including them, this header should be included to temporarily
|
|
|
|
suppress the warnings and after this the header afterstd.h should be
|
|
|
|
included to enable them back again.
|
|
|
|
|
|
|
|
Note that there are intentionally no inclusion guards in this file, because
|
|
|
|
it can be included several times.
|
|
|
|
*/
|
|
|
|
|
2019-10-21 14:49:44 -04:00
|
|
|
#if defined(__VISUALC__) && __VISUALC__ >= 1910
|
|
|
|
#pragma warning(push, 1)
|
|
|
|
|
|
|
|
// This warning, given when a malloc.h from 10.0.240.0 version of UCRT,
|
|
|
|
// which is used when building projects targeting 8.1 SDK, compiled by MSVS
|
|
|
|
// 2017 or later, is still given even at warning level 1, in spite of it
|
|
|
|
// being level 4, so we have to explicitly disable it here (as we do it
|
|
|
|
// after the warning push pragma, it will be restored after pop).
|
|
|
|
//
|
|
|
|
// expression before comma has no effect; expected expression with side-effect
|
|
|
|
#pragma warning(disable:4548)
|
|
|
|
#endif // VC++ >= 14.1
|
|
|
|
|
2007-07-22 05:20:42 -04:00
|
|
|
/**
|
|
|
|
GCC's visibility support is broken for libstdc++ in some older versions
|
|
|
|
(namely Debian/Ubuntu's GCC 4.1, see
|
|
|
|
https://bugs.launchpad.net/ubuntu/+source/gcc-4.1/+bug/109262). We fix it
|
|
|
|
here by mimicking newer versions' behaviour of using default visibility
|
|
|
|
for libstdc++ code.
|
|
|
|
*/
|
|
|
|
#if defined(HAVE_VISIBILITY) && defined(HAVE_BROKEN_LIBSTDCXX_VISIBILITY)
|
|
|
|
#pragma GCC visibility push(default)
|
|
|
|
#endif
|