Commit Graph

25 Commits

Author SHA1 Message Date
VZ
5551932c25 Allow using Bind() with non-public inheritance in C++11 code
Using Bind() with a method of the class deriving from wxEvtHandler
non-publicly used to result in a compile-time error, but at least with C++11
we can detect this case and allow the code to compile.

Closes #17623.
2016-11-29 19:32:40 +01:00
Vadim Zeitlin
bd3ff6928e Fix build with wxUSE_STD_STRIN == 0.
Remove a leftover occurrence of wxDEFINE_TEMPLATE_BOOL_VALUE(), this should
have been done in r76532.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-28 11:35:34 +00:00
Vadim Zeitlin
f4b80e5337 Remove MSVC6 support.
Don't support this compiler any more, this allows to get rid of tons of
MSVC6-specific workarounds, in particular we can now use Bind() and natural
template functions calls in the library code.

Also remove MSVC6 project and solution files and don't generate them when
bakefile_gen is ran any more (removing the remaining occurrences of msvc6prj
from the bakefiles results in weird bake-time errors, so it's simpler to just
leave them there).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 22:32:17 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
8f6bb2602b Disable wxEvtHandler::CallAfter() for VC6, it's too broken for it.
There is no clear way to implement wxRemoveRef() for VC6 so just disable it,
and CallAfter() as it relies on it, for this compiler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-24 00:17:15 +00:00
Vadim Zeitlin
32753ae949 Add wx/meta/removeref.h header defining wxRemoveRef<> helper.
This is a very simple template allowing to remove the reference from the given
type, similar to std::remove_reference<>.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-23 12:02:00 +00:00
Vadim Zeitlin
01871bf642 Add wxUSE_STD_CONTAINERS and turn it on by default.
Previously, wxUSE_STL enabled both implicit conversion of wxString to
std::[w]string and use of standard containers for the implementation of their
wx equivalents. Split up the two roles now by allowing to enable the use of
the standard containers independently of (backwards incompatible) implicit
conversion in wxString and actually enable wxUSE_STD_CONTAINERS by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 14:16:04 +00:00
Vadim Zeitlin
258593354e Fix build with Borland C++ compiler.
Disable some parts of the code that this compiler had problems with. Add
parentheses to work around its bugs elsewhere.

Closes #12558.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-07 13:16:20 +00:00
Václav Slavík
530646ca27 Fix compilation error in wxImplicitConversionType<> in gcc strict mode.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-02 22:55:56 +00:00
Václav Slavík
a52475807e Make wxMin, wxMax and wxClip template functions.
Previously used macro's arguments were evaluated twice, but there were
many occurences of their use in our code that didn't account for this
and used expensive-to-evaluate arguments as if they were functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-25 09:43:00 +00:00
Jaakko Salli
109e2ca434 Added wxIsPod<>. Use it in wxAny instead of wxIsMovable<>.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-14 15:12:37 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Vadim Zeitlin
0503f19ca8 compilation fixes for g++ 3.2 (closes #10875)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-05 08:54:48 +00:00
Vadim Zeitlin
68482dc584 add cache for last used position and string length to UTF-8 wxString, dramatically improving performance of the code using indices to iterate over strings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-28 19:19:11 +00:00
Vadim Zeitlin
40e01f4bfa compilation fix for bcc 5.82: don't use enum for value definition, Borland doesn't use the value correctly when the template is used later then
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-15 14:16:32 +00:00
Václav Slavík
c9faa9e9a2 Fixed compilation of wxVector<T> with VC6:
* reverted VC6 hack in wxIf<>, using helper struct instead of typedef
  didn't fix compilation, only caused the compiler to crash instead
  of emitting semi-useful errors
* changed wxVector to use typedef for Ops class instead of privately
  deriving from wxIf<...>::value; this is enough to make VC6 happy



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-31 11:26:52 +00:00
Václav Slavík
04e5392a8d do the VC6 hacks only when compiling with VC6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-30 08:49:42 +00:00
Vadim Zeitlin
e6649f2d55 more VC6 fixes: nested value must be real classes, not typedefs; skeleton declaration must contain value as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-29 23:31:04 +00:00
Václav Slavík
7ca735413a corrected VC++ version check
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-29 19:50:34 +00:00
Vadim Zeitlin
986d59e27e fix compilation with VC6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-29 18:37:38 +00:00
Václav Slavík
d05b30e400 VC5 didn't support partial specialization either, check for VC>=7
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-29 17:38:04 +00:00
Václav Slavík
28f0592cd9 compilation fix for VC6, it doesn't support partial template specialization
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-29 11:26:30 +00:00
Václav Slavík
6712283cf1 fixed wxVector<T> to work with non-POD types again; added optimization to keep using (much faster) realloc with types that are movable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-22 11:29:21 +00:00
Václav Slavík
4f927337cc use full path to headers in header guards
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-21 11:56:15 +00:00
Vadim Zeitlin
0fb0ecc452 add useful headers for meta-programming checks (part of patch 1860953)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-13 01:09:40 +00:00