Václav Slavík
111d99489d
added code for optimized handling of UTF-8 locales: some string operations are more efficient under it and it's possible to completely compile-out support for other locales if the target system is known to only use UTF-8 locales
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-03 11:05:04 +00:00
Václav Slavík
d1f6e2cfe2
fixed vararg functions with format argument to not use wxString or reference argument (the latter is invalid C++, the former doesn't work with Watcom and produces at least warnings with GCC 3.3)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-03 10:50:25 +00:00
Václav Slavík
c1eada835a
more efficient implementation of ToAscii/FromAscii in UTF8 build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-26 12:00:43 +00:00
Václav Slavík
2523e9b700
use UTF8-encoded char* strings in UTF8 build instead of wchar_t* if the current locale uses UTF8;
...
fall back to widechar CRT functions in the locale is not UTF8
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-26 11:40:04 +00:00
Václav Slavík
c87a0bc8cb
corrected (Do)GetWriteBuf() return types to use more appropriate type (no real difference)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-24 15:51:51 +00:00
Václav Slavík
467175ab3f
moved primitive string and string iterators operations to stringops.h/cpp files to make wxString code easier to read
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 10:05:55 +00:00
Václav Slavík
681e441286
added wxCStrData::As[W]CharBuf() that doesn't keep converted string in memory for longer than needed
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-16 06:59:04 +00:00
Václav Slavík
cf9a878b54
removed implicit conversion from wxString::iterator to wxStringImpl::iterator (fixes VC6 compilation)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-15 19:02:38 +00:00
Václav Slavík
a4a44612a6
implement wxString:IsXXX() methods using iterators
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-15 10:07:40 +00:00
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
Vadim Zeitlin
1748289348
added our own implementation of strto[u]ll() if the system doesn't have one (patch 1696533)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-11 00:12:54 +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
Stefan Csomor
8116a0c55e
correcting include style
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-10 12:23:44 +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
Václav Slavík
6c4ebcda60
STL build compilation fix
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-07 09:25:07 +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
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
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
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
Vadim Zeitlin
abbb59e8eb
added wxJoin and wxSplit functions (modified patch 1638950)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-18 14:43:41 +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
b7452b3a0e
removed wxArrayString casting hack, it doesn't work with the new wxString class
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-16 12:57:46 +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
001ad728a4
changed wxArrayString::m_pItems from wxChar* to const wxChar*, the strings are not modified by the class
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-02-24 15:19:16 +00:00
Vadim Zeitlin
f2bbe5b675
fixes and workarounds to return value of our own wxVsnprintf_() implementation: handle -1 as error and not an indication that there is not enough space (patch 1623077)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44122 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-07 16:17:28 +00:00
Vadim Zeitlin
c56d73fe00
NUL terminate the string in UngetWriteBuf(len) (bug 1594189)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-27 15:03:06 +00:00
Michael Wetherell
b2c31089c2
Make the function passed to wxStringToIntType a template parameter instead of
...
assuming its type.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-10 16:00:44 +00:00
Vadim Zeitlin
9129836e62
wxArrayString::Alloc() shouldn't clear the array contents
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-08 18:52:43 +00:00
Włodzimierz Skiba
122f3c5dc0
Simplest fix received from OW community (Peter C. Chapin).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 18:40:50 +00:00
Włodzimierz Skiba
92df97b87b
wxWinCE build fix.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 18:06:44 +00:00
Vadim Zeitlin
ead067dedf
slightly reduce the number of #ifndef __WATCOMC__
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 11:20:11 +00:00
Włodzimierz Skiba
bca6a3a555
Temporary ugly trick to make release for OpenWatcom possible.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42707 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 11:08:48 +00:00
Vadim Zeitlin
64f8f94ca0
deal correctly with vsnprintf() implementations which always NUL-terminate the buffer, even if there is not enough space (recent glibc ones do it like this)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-29 15:51:10 +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
e71e5b3726
also reset errno iin ToDouble()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 15:42:28 +00:00
Vadim Zeitlin
4ea4767ef9
reset errno before testing it
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 15:41:32 +00:00
Vadim Zeitlin
619dcb095e
extracted common code of ToLong and ToULong in a separate template helper
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 15:24:07 +00:00
Vadim Zeitlin
bda041e561
check for under/overflow in ToLong/ULong/Double() as well
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-28 14:58:56 +00:00
Václav Slavík
422d020d99
fixed the check in previous commit
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-09 18:47:20 +00:00
Václav Slavík
a425518dc4
assert if wxString(void* pStart,void *pEnd) ctor is used incorrectly
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-09 18:37:33 +00:00
Vadim Zeitlin
e66eb2dfae
fixed Contains() to pass the unit test (didn't work for empty strings)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-28 11:38:51 +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
Włodzimierz Skiba
32c62191d7
Final fix for Bug #1472688 'wxString::Trim() is broken'
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-15 23:21:28 +00:00