Commit Graph

389 Commits

Author SHA1 Message Date
Vadim Zeitlin
ccd4deab6b fix DLL build with MSVC: it wasn't happy that some functions of a template class were not implemented, so get rid of FromCStrData() and implement its logic in one of the 2 derived classes ctors instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-23 00:04:15 +00:00
Václav Slavík
d18c8d3d94 reimplemented wx[W]CharBuffer using templates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 23:31:08 +00:00
Vadim Zeitlin
17709275f9 added explicit conversion of wxCStrData to const void * to resolve ambiguity between const char * and const unsigned char * conversion when passing s.c_str() to e.g. file output functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 19:24:41 +00:00
Vadim Zeitlin
fb52c2b671 added macros to avoid code repetition when defining comparison operators; use them to replace existing operators in wxUniChar and wxUniCharRef (fixing bug in the operator== and != of the latter) and added comparison operators for const wxChar * and wxCStrData which are needed to compile existing code comparing pointers with s.c_str()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 18:03:02 +00:00
Vadim Zeitlin
dbea442a15 added wxCStrData conversion to const unsigned char * too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 17:28:00 +00:00
Vadim Zeitlin
b77afb41f3 add operator+=(unsigned char) for backwards compatibility and because we generally handle both signed and unisnged chars everywhere; added wxString(const wxCStrData&, size_t) ctor to resolve ambiguity between wxString(const char *, size_t) and wxString(const unsigned char *, size_t) and wxString(const wxString&, size_t) to resolved embiguity for string parameter of ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 17:26:09 +00:00
Václav Slavík
76046d7390 compilation fix after STL fixes if 2.8 compatibility is enabled
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-20 08:14:06 +00:00
Václav Slavík
992527a573 fixed compilation if wxUSE_STL=1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 19:23:33 +00:00
Václav Slavík
c7554da8a9 tagged IsEmpty(), Strlen() and Stricmp() global functions as deprecated, 2.8-compat (they're documented as compatibility only)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 16:47:10 +00:00
Václav Slavík
e3f6cbd99c split wxchar.h into several smaller headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 14:45:38 +00:00
Vadim Zeitlin
c8eb817283 added wxString::operator=(const wxCStrData&) to make it possible to compile code like "wxString s = s.c_str() + 1" again (also fixes wxGTK1 compilation)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 13:19:56 +00:00
Vadim Zeitlin
414b7b4016 added ctor for wxChar/WCharBuffer from wxCStrData in ANSI/Unicode build to make it possible to compile code like "wxCharBuffer buf = s.c_str()" again (in particular, fixes wxGTK1 compilation)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 13:18:02 +00:00
Vadim Zeitlin
c1df0a3b58 add overloads of wxString and wxCStrData::operator[] taking long, for consistency with std::string classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44908 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 00:06:17 +00:00
Vadim Zeitlin
acf0c9acfc added wxCStrData::operator+(long) overload (this fixes some compilation errors in wxGTK1 and probably not only there)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-18 23:59:09 +00:00
Václav Slavík
c9f7896861 first phase of transition to unified Unicode build:
1. changed c_str() to return wxCStrData (implicitly convertible to wxChar*)
2. added template type-safe wrappers for vararg functions
3. added wxUniChar class representing single Unicode character
4. changed wxString::operator[] and wxString::iterator to return wxUniChar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-17 10:26:10 +00:00
Václav Slavík
d8a4b666cf deprecated wxString::GetWriteBuf() and friends in favour of wxStringBuffer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 20:01:52 +00:00
Vadim Zeitlin
c1dc9f8394 removed WXWIN_COMPATIBILITY_2_4 from common and wxMSW files (patch 1675546)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 11:35:04 +00:00
Václav Slavík
d7330233fd allow creating wxString from char*, assigning to it from char* and comparing with char* values
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-20 20:05:43 +00:00
Michael Wetherell
8bb9d852a3 Move the #if disabling wxUSE_STD_STRING for watcom/dmc/vc5 into setup.h so
that users can edit them easily.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-08 00:09:15 +00:00
Vadim Zeitlin
0797d64777 forcefully disable wxUSE_STD_STRING and wxUSE_STL for Digital Mars and Open Watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42790 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 23:09:39 +00:00
Vadim Zeitlin
d6718dd17b added wxString::ToLongLong() and ToULongLong() (feature request 1290937)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 16:46:03 +00:00
Vadim Zeitlin
13874b5c7f deprecate wxSTRING_MAXLEN in favour of wxString::npos
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 14:06:27 +00:00
Vadim Zeitlin
639e001d87 removed operator>>(istream&, wxString&) -- it's better to not have it at all than have an empty function which compiles but doesn't work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-20 23:59:17 +00:00
Vadim Zeitlin
3affcd078b added wxString::EndsWith() (patch 1483049)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-06 17:27:52 +00:00
Vadim Zeitlin
d364df5fee removed unneeded reverse_iterator::operator->() which provokes VC6 warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-15 18:39:56 +00:00
Vadim Zeitlin
968f291be6 added wxString::rbegin() and rend()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-15 15:03:57 +00:00
Vadim Zeitlin
830f8f11bc 1. changed all "wxMBConv& conv" parameters to "const wxMBConv&"
2. this allows to use wxConvAuto() instead of wxConvUTF8 as default value
   for this parameter in the classes which read text from the file: wxConvAuto
   automatically recognizes the BOM at the start of file and uses the correct
   conversion
3. don't use Windows for UTF-7 conversions as there is no way to make it
   fail on invalid UTF-7 strings; use our own wxMBConvUtf7 instead


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-05 14:37:47 +00:00
Vadim Zeitlin
20aa779e3e define size() in terms of length(), not vice versa, to make the code somewhat faster in non-optimized builds + some typo fixes in comments (patch 1440237)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-12 13:37:56 +00:00
Vadim Zeitlin
1fc8cfbd81 friend declarations are not injected in the enclosing scope by conforming compilers such as g++ 4, so fix compilation by always providing real declarations for operator+(wxString,anything)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-14 01:55:48 +00:00
Mart Raudsepp
90e572f1e5 Spelling fixes from Andreas Mohr (patch #1360064)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-19 01:07:56 +00:00
Vadim Zeitlin
153958f72d wxString(const unsigned char *) ctor doesn't crash by default with wxUSE_STL==1 any more
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-08 01:10:02 +00:00
Michael Wetherell
b7859132ae Modify wxString::operator<<(wxLongLong_t) to avoid warnings from mingw
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-31 20:27:17 +00:00
Michael Wetherell
3fc1adbd94 Implement string inserter for long long. This creates a problem on mingw as gcc
gives a warning unless -Wno-format is used, one of the most useful warnings.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35906 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-15 19:16:59 +00:00
Michael Wetherell
7147aa4780 #define wxUSE_STD_STRING to 0 rather than #undef it, patch 1255570 from Jan van Dijk
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-08-10 21:24:42 +00:00
Vadim Zeitlin
b7146cbec5 compilation fix for IBM xlC (closes 1230392)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-29 19:44:17 +00:00
Włodzimierz Skiba
963ad140d0 Second part of '[ 1216148 ] cleanup: unused variables and declarations'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-06-08 14:32:16 +00:00
Mattia Barbon
47561b0dc5 Check for wxUSE_STD_STRING with #if not with #ifdef,
because it is always defined.
  Do not unconditionally #define HAVE_STD_STRING_COMPARE if
it is not defined, because this nullifies the configure test.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-10 14:57:09 +00:00
Ryan Norton
c57e3bd53e Version of [ 1177956 ] fix for wxString::operator=(wxChar *) for STL builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-08 14:06:25 +00:00
Włodzimierz Skiba
5a8231ef46 VC++ 1.5 no more supported.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-07 12:36:39 +00:00
Vadim Zeitlin
ce76f779c6 added wxString ctor from std::string (inside #ifdef wxUSE_STD_STRING); removed pragma interface/implementation which force all inline functions to be defined in string.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-20 15:42:41 +00:00
Vadim Zeitlin
013984337a restored const operator[]s for the compilers which need them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-18 15:27:14 +00:00
Vadim Zeitlin
9d9ad67384 removed const operator[]s (should fix 1162115)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32864 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-17 20:16:45 +00:00
Włodzimierz Skiba
a0be690852 Fixes after removal of palmos/gccpriv.h.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31483 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-19 06:48:42 +00:00
Włodzimierz Skiba
4055ed8281 Use __WXPALMOS__ for PalmOS port which fits __WX$(TOOLKIT)__ of bakefiles. Do not depend on MSW macros in PalmOS port. Source cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-20 12:44:22 +00:00
Ryan Norton
2cbfa061b4 Correct mistakes in wxStripExtension - correct wxString::npos. Spurred by 1073642 filefn.cpp StripExtension(wxString &)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-01 23:55:42 +00:00
Stefan Csomor
d5c8817ce5 file name char set string conversions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-17 15:14:35 +00:00
Vadim Zeitlin
e51b17a1f9 don't define comparison operators for wxString and wx[W]CharBuffer when wxUSE_STL == 1 neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-09 19:35:33 +00:00
Vadim Zeitlin
b6339dde8c don't define comparison operators taking wxStrings when wxUSE_STL == 1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-08 18:19:13 +00:00
Ryan Norton
e4e3bbb447 solution to wxMBConv stuff - make a seperate XX2XX for strings of a specified length, use this in wxString instead of previous worst-case method
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-30 20:16:25 +00:00
David Elliott
c096ba5ea1 Make wxString::WorstEncodingCase take a const wxMBConv&
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-30 05:33:47 +00:00