Commit Graph

305 Commits

Author SHA1 Message Date
Václav Slavík
8a540c887c made wxString::Replace, Matches and Find work with any form of string argument
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 08:35:39 +00:00
Václav Slavík
e8f5903971 build fixes after previous commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-04 11:40:36 +00:00
Václav Slavík
04abe4bc8f cleanup of wxString ctors and operator=: made both char* and wchar_t* versions available, regardless of the build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-03 20:29:42 +00:00
Václav Slavík
50eeb96fbe compilation fix for BCC5.5
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-03 10:06:08 +00:00
Václav Slavík
50e02008a0 added some unsigned char overloads to wxString for compatibility
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-02 18:13:48 +00:00
Václav Slavík
ef0f138756 added char_str() and wchar_str() methods to wxString for obtaining char*/wchar_t* pointers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 20:09:02 +00:00
Václav Slavík
759d51f229 fixed warning about comparing int to size_t
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-29 19:10:43 +00:00
Václav Slavík
f4c90fdfaf added wxCStrData::operator- for compatibility with expressions like 'c_str() + n - 2'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-29 18:42:04 +00:00
Vadim Zeitlin
b7d403419e added wxString::operator[](int) as it's commonly used in code working with file/stream read functions which have int return value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-28 18:25:25 +00:00
Václav Slavík
a7ea63e21f split string.{h,cpp} into {string,stringimpl,arrstr}.{h,cpp} to make the files more managable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-28 11:35:07 +00:00
Václav Slavík
a962cdf410 re-enabled using std::string for wxStringImpl if wxUSE_STL again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-28 09:37:34 +00:00
Václav Slavík
8f93a29f8e Preparing wxString for UTF-8 representation:
1) split into wxStringImpl class that has std::string-like API and operates on char* or wchar_t* data and wxString class that provides Unicode iterators and indexes
2) added both char* and wchar_t* versions of many wxString methods to avoid having to use _T()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 20:28:04 +00:00
Václav Slavík
92d21a8a07 added missing operators to wxString::reverse_iterator
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 08:25:47 +00:00
Václav Slavík
2233af93b0 remove wxStringBase::AllocCopy(), it wasn't used anywhere
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-25 19:46:05 +00:00
Vadim Zeitlin
1a81eea8d4 also removed WXDLLIMPEXP_BASE from friend declaration of wxCStrData
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-23 12:27:51 +00:00
Vadim Zeitlin
bb650010c8 removed dll export declaration for wxCStrData: it's unneeded because the class is fully inline and creates problems with mingw32 3.4.2 which wanrs about functions defined locally after being declared with dll linkage and then fails to link wxBase DLL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-23 01:45:17 +00:00
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