Václav Slavík
817270659e
initial version of UTF-8 strings representation (still converting to wchar_t* a lot); it has to be explicitly enabled with --enable-utf8 for now
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-12 21:15:07 +00:00
Václav Slavík
05f32fc39e
don't crash if (char*)c_str() is used twice in a row on the same string and both pointers are used at the same time
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-10 19:13:52 +00:00
Václav Slavík
89360a8c87
string iterator's operator- should return difference_type, not size_t or unsigned
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-09 08:18:33 +00:00
Václav Slavík
1bb592b878
removed spurious semicolons
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-09 06:50:28 +00:00
Václav Slavík
132276cf0d
fix crash in ~wxString with global wxString objects: temporarily move conversion buffers from a hash to wxString
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-08 17:52:00 +00:00
Vadim Zeitlin
cc5bd48eff
added operator-(const wxChar *, const wxCStrData&) to allow compilation of the code doing "p - s.c_str()" where p is a pointer into the string s
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-06 22:56:06 +00:00
Vadim Zeitlin
9aee0061fe
wxCStrData must be dllexport'd now that it has non-inline methods
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-06 22:48:54 +00:00
Vadim Zeitlin
30d560f4cf
wxString::[const_]iterator operators -= and += should return reference and not iterator object
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 21:56:21 +00:00
Vadim Zeitlin
f2a1b1bd23
added overloads taking pairs of const char/wchar_t pointers for wxString methods working with const_iterators for backwards compatibility with old wxString::const_iterator which used to be convertible to/from const wxChar *
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 21:55:29 +00:00
Václav Slavík
11aac4baa6
provide both const char* and const wchar_t* implicit conversion of wxCStrData regardless of the build type
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 21:28:14 +00:00
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