Francesco Montorsi
529e491ce0
add the ToCLong, ToCULong and ToCDouble functions, with docs and test units
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 14:50:06 +00:00
Vadim Zeitlin
072682ce44
optimize Replace() to use a linear algorithm ( closes #9135 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-07 16:07:58 +00:00
Vadim Zeitlin
6689960c3c
use wcs(n)casecmp() if available; use wxStricmp() to implement wxString::CmpNoCase() as it's significantly more efficient than wx code ( closes #10375 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 19:03:26 +00:00
Vadim Zeitlin
4e79262f78
resolve the DLL linking problems with MSVC due to use of static variables of template types by replacing them by a non-template unique untypedNullDataPtr
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 01:48:36 +00:00
Vadim Zeitlin
6b583d40a8
fix linking problems due to MSVC implicitly considering template classes specializations used as base classes DLL-exported even though it doesn't actually export them when building the DLL (with or without explicit declspec(dllexport)); also replace wxCharTypeBuffer::NullData with a static function to allow not DLL-exporting this class
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-30 23:04:29 +00:00
Vadim Zeitlin
ddf01bdb96
don't crash when streaming out a wxString into an std::ostream, just set the failbit instead
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-10 16:11:40 +00:00
Vadim Zeitlin
7929902d65
no real changes, just fixed all occurences of 'occurence' typo
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-29 12:10:58 +00:00
Vadim Zeitlin
c565abe1c5
fix After{First,Last}() to work for strings with non-ASCII characters in UTF-8 build and added unit tests for this
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-29 12:08:44 +00:00
Jouk Jansen
c9b6cebdab
OpenVMS chokes on external templates
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-11 20:50:12 +00:00
Stefan Csomor
e317bd3f10
solving osx problems (default inlines-hidden) by explicitely exporting the involved methods
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-11 06:46:23 +00:00
Vadim Zeitlin
e810df36b3
access TLS cache variable directly and not via a helper function when using compiler with native TLS support to work around an apparent bug in g++
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-06 22:12:04 +00:00
Vadim Zeitlin
8c3b65d941
rename ShowCacheStats to wxStrCacheStatsDumper
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-31 15:07:12 +00:00
Vadim Zeitlin
ad8ae78878
call GetCache() from a global object ctor to ensure that it is done before any threads are created
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-31 14:57:53 +00:00
Vadim Zeitlin
8b73c5318c
chanegd wxTlsValue to be pointer-like instead of value-like which doesn't work for UDTs; use __thread keyword with mingw32 >= 4.3 too; use library-based thread-specific variables support in wxString cache now that it is fixed to work there; finally added a unit test for TLS stuff
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-29 23:28:42 +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
Václav Slavík
5c1de526d2
added refcounting to wxCharBuffer to fix passing of wxCharBuffer to printf-like functions
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 19:37:51 +00:00
Vadim Zeitlin
dd79ca2fd8
undid changes accidentally committed as part of r55019
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-08 19:00:19 +00:00
Vadim Zeitlin
64a044d5a6
added wxTLS_TYPE() macro
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-08 02:59:32 +00:00
Vadim Zeitlin
0c7db140c5
add wxString::Capitalize() and MakeCapitalized() for consistency with Upper/Lower() we already have
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 23:39:11 +00:00
Vadim Zeitlin
8a6270322b
optimize Replace() for the common case of replacing one character with another one ( #9802 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-30 21:41:07 +00:00
Václav Slavík
f81cf71f9b
fixed wxString::Replace() to work directly on m_impl -- matters for UTF-8 build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-19 11:18:28 +00:00
Vadim Zeitlin
9ef1ad0d2c
fix crashes due to missing npos handling in several wxString methods in STL build (bug 1941352); add an assert to ensure this bug doesn't occur in the future
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-13 23:41:15 +00:00
Vadim Zeitlin
394b2900ff
don't stop on NULs in Replace()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-12 17:10:28 +00:00
Vadim Zeitlin
f172cb8200
removed support for Salford compiler (which was almost certainly broken anyhow) (patch 1861133)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-31 10:05:00 +00:00
Vadim Zeitlin
c95e653ca4
don't modify the output variable if ToXXX() fails to convert (modified patch 1849041)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-15 02:45:24 +00:00
Vadim Zeitlin
9d55bfef2c
don't use 8 bit characters in sources, this results in level 1 warning with VC8 (patch 1841741)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 22:09:26 +00:00
David Elliott
a9a854d73e
Go back to my original idea of checking for EILSEQ and EINVAL and failing
...
immediately if either of those is set after wxVsnprintf call returns a
negative number to indicate some type of failure.
All other errno are assumed to simply mean that the buffer is undersized so
the platform C library function can set errno to anything it likes or simply
not set it at all and our code will keep trying to increase the buffer size
just as it did originally.
This should (hopefully) fix compilation with C libraries that only support
the most basic set of errors (of which EINVAL and EILSEQ are part).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-23 03:30:16 +00:00
David Elliott
67612ff18e
Fix wxVsnprintf-using code on both trunk and 2.8 and document how native
...
functions are supposed to behave as well as how some of them do.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-20 03:44:01 +00:00
Václav Slavík
6a6ea041d9
compilation fix for Mingw: it doesn't have std::wostream
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-10 09:48:00 +00:00
Vadim Zeitlin
6b61b594cf
define insertion operator in std::wostream in Unicode build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-09 00:09:01 +00:00
Vadim Zeitlin
7a906e1a21
fixed operator<<(ostream&, wxString) to output string contents and not wchar_t pointer value in Unicode build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-09 00:01:59 +00:00
Paul Cornett
0d8b0f94c0
unused variable, more efficient increment operator
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-22 04:40:21 +00:00
Vadim Zeitlin
2a7431e130
no changes, just added a comment explaining the issues involved in doing the conversion in place in wxCStrData::AsChar()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-09 19:05:20 +00:00
Vadim Zeitlin
28be59b4ad
return empty string, not NULL, from wxCStrData::AsChar() if conversion to ANSI fails for compatibility with wxWidgets 2 and std::string
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-09 18:57:41 +00:00
Václav Slavík
c5288c5cfe
fixed wxString::FromAscii signature
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-06 13:31:08 +00:00
Robin Dunn
4f696af8d6
Pass length including the null-terminator to cWC2MB
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-05 22:53:29 +00:00
Václav Slavík
941a4e6260
replace wxStringToIntType<T> with a macro to make Watcom compile the code
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-22 19:06:31 +00:00
Václav Slavík
7d46f92bb0
compilation fix for UTF8+STL
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-22 11:30:10 +00:00
Václav Slavík
628f87da56
added wxUTF8StringBuffer for writing UTF8 data into wxString efficiently, similarly to existing wxStringBuffer classes
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-20 15:19:15 +00:00
Václav Slavík
6798451bb2
renamed wxImplStringBuffer to wxStringInternalBuffer
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-19 21:24:50 +00:00
Vadim Zeitlin
4fdfe2f3ae
use wxMBConvStrictUTF8 instead of wxMBConvUTF8 in ConvertStr() and mb/wc_str()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-24 15:10:21 +00:00
Václav Slavík
0081dd7246
fixed FromAscii to work with NULL argument (broken after recent changes)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-28 20:01:11 +00:00
Václav Slavík
602a857b25
fixed FromAscii() changes to correctly handle embedded NULs
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47011 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-28 19:07:00 +00:00
Václav Slavík
e6310bbc5a
added wxString::FromAscii(char*,size_t) for consistency with FromUTF8()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-28 12:36:54 +00:00
Václav Slavík
a33c7045d1
don't put invalid UTF-8 data into wxString if Printf() fails in UTF-8 build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-15 11:26:29 +00:00
Václav Slavík
52de37c78f
1. made CRT wrappers definitions indepenent of wxUSE_UNICODE: both ANSI and Unicode variants are now defined
...
2. split wxcrt.h into wxcrtbase.h with lowlevel compiler-specific definitions and wxcrt.h with ANSI- and Unicode-compatible wx wrappers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:14:14 +00:00
Václav Slavík
c6255a6eab
removed unneeded wxVaCopy calls
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-04 10:54:16 +00:00
Václav Slavík
5487ff0f50
use const wxMBConv& instead of wxMBConv& in public methods so that it's possible to pass in temporary objects;
...
don't use global wxConvUTF8 object internally, it may be unavailable at static objects destruction time
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-11 20:55:24 +00:00
Václav Slavík
c5e7a7d769
changed wxString::StartsWidth/EndsWidth to take wxString argument instead of wxChar*
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-09 21:07:08 +00:00
Václav Slavík
1528e0b85f
use wxFormatString helper class for 'vararg' functions' format argument; this prepares the code for removal of implicit wxString conversion to char* in STL build and also fixes VC6 compilation
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-04 10:41:08 +00:00