Václav Slavík
17473a770a
Fix lots of warnings reported by Clang.
...
Mostly potentially lossy implicit conversions in headers (long->int). Also dangling else warnings. Struct/class mismatches.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-10 16:41:34 +00:00
Vadim Zeitlin
622bc15f11
Add conversions to/from long long to wxUniChar.
...
Allow conversions to/from long long and unsigned long long values in wxUniChar
for consistency with the other integral types.
Also make the code shorter by using helper wxDO_FOR_INT_TYPES() and
wxDO_FOR_CHAR_INT_TYPES() macros to avoid duplicating the same code for all of
the integral types and having to handle wchar_t (and wxLongLong_t now)
specially because sometimes we may need to overload on it and sometimes not.
Finally, add more tests to check that all the wxUniChar methods compile and
work with all the different types.
Closes #15206 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-19 12:38:12 +00:00
Vadim Zeitlin
6d93e28adf
Fix comparisons of char and wchar_t with wxUniChar[Ref].
...
Comparisons didn't work correctly in the other direction as they were not
reversed as needed. Fix this by adding wxDEFINE_COMPARISON_REV() macro which
defines comparisons in terms of the reverse operations and use it for both
wxUniChar and wxUniCharRef.
Closes #14547 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-31 16:49:36 +00:00
Vadim Zeitlin
874dbd3a4a
Allow calling wxStrchr() with a narrow string and wide character.
...
Calls to wxStrchr(char-string, wide-char) would previously fail if wide
character couldn't be converted to a single character in the current locale
encoding. Change it to simply return NULL in this case as it's a safe and
useful generalization: a narrow string will never contain a wide character not
representable in the current locale.
Add wxUniChar::GetAsChar() to help with implementing this.
Closes #11487 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-28 14:37:03 +00:00
Vadim Zeitlin
5c69ef61f3
fix some of icc 11.0 warnings and disable a few others
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-16 14:24:13 +00:00
Václav Slavík
22188d7396
pch-less compilation fix for r55285
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 13:29:38 +00:00
Václav Slavík
6bd4f2812d
fixed writing to wxUniCharRef after its 'parent' iterator was destroyed
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-26 13:02:38 +00:00
Paul Cornett
162e998c2f
check for self-assignment in operator=
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-09 04:08:33 +00:00
Václav Slavík
a4535b9f39
don't attempt to convert 8bit values to Unicode in ANSI build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-13 18:48:58 +00:00
Vadim Zeitlin
ce65118e62
make To/From8bit() inline for performance reasons
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-20 01:10:22 +00:00
Václav Slavík
b5dbe15d0b
added WXDLLIMPEXP_FWD_FOO macros in addition to WXDLLIMPEXP_FOO for use with forward declarations (in preparation for GCC visibility support)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-09 10:09:52 +00:00
Václav Slavík
c5cf866314
removed wxWCHAR_T_IS_SEPARATE_TYPE: there already was wxWCHAR_T_IS_REAL_TYPE with the exact same meaning and definition
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-08 07:04:38 +00:00
Václav Slavík
c2d122aa7d
added missing wxUniChar::operator=(wxUniCharRef)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-06 12:40:36 +00:00
Václav Slavík
d4e5987995
explicitly cast m_value to the resulting type in wxUniChar's integer conversion operators to silence compiler warnings
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-01 12:32:10 +00:00
Václav Slavík
4d62edfb07
wxUniChar wchar_t handling fixes for Borland, DMC and Watcom compilers
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-29 19:11:09 +00:00
Václav Slavík
21f0762a1a
fixes to wint_t and wchar_t handling in unichar.h (fixes FreeBSD compilation and Mingw compilation with -pedantic)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-26 20:44:58 +00:00
Václav Slavík
13f071c06b
include wxUniCharRef::operator&& unconditionally too, not just wxUniChar one
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-26 14:36:06 +00:00
Vadim Zeitlin
8019a67305
remove #if around operator&&(), its needed for other compilers too (Sun CC 5.9) and doesnt seem to hurt the ones which do not need it
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-22 20:27:07 +00:00
Vadim Zeitlin
be3dcfb31a
Sun CC (at least version 5.9) has wint_t as a separate type too
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-22 13:59:48 +00:00
Václav Slavík
4e5b3a4eb5
added long int operators to wxUniChar (fixes wxMac compilation)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-11 12:16:14 +00:00
Václav Slavík
1fc10687bf
added wxUniChar::AsUTF8() for easy conversion in UTF8 build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-08 20:17:34 +00:00
Václav Slavík
2c6725e622
restored accidentally commented-out code
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-16 13:42:23 +00:00
Václav Slavík
db18be5792
added missing operators for int and unsigned char
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-15 15:02:31 +00:00
Václav Slavík
b0c4d5d792
fixed non-const wxString iterators to work when a character is changed to another with different UTF-8 sequence length
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-15 13:16:01 +00:00
Vadim Zeitlin
fddca1dce4
djgpp doesn't have wint_t as separate type
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-14 23:21:40 +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
bc5443ba07
fixed wxUniCharRef::IsAscii() definition
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-14 10:45:58 +00:00
Václav Slavík
47b378bd88
removed extra semicolons (patch #1700459 ; fixes compilation with gcc's -pedantic flag)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-14 09:58:37 +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
153bc803a8
add conversion of wxUniChar[Ref] to unsigned int if it's not already covered by conversion to wint_t
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-06 23:16:00 +00:00
Václav Slavík
9cea4218b1
wint_t is wchar_t on OS/2 too
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-01 08:04:32 +00:00
Václav Slavík
171d613212
added creation of wxUniChar from int and conversion to int, for backward compatibility
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-29 18:35:16 +00:00
Vadim Zeitlin
436bb9f539
added overloads of operators for wint_t for VC when the code is compiled with /Zc:wchar_t option (default in VC8)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-29 15:05:34 +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
Vadim Zeitlin
c961c0cfca
fixed compilation for Windows compilers now after last change: replaced conversions to ushort and uint with a conversion to wint_t but do it for (non-Apple) gcc only
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-23 15:16:08 +00:00
Vadim Zeitlin
2a686bd333
added conversions to unsigned short: this fixes compilation for some platforms where wint_t is ushort (mingw32)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-23 15:00:12 +00:00
Vadim Zeitlin
98c4eb3910
remove wxWINT_T_IS_TYPEDEF as it seems wint_t is always a typedef (although it can be either unsigned short or unsigned int or possibly something else)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 19:13:50 +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
bd72306dc8
added conversion to unsigned int too: this is needed to be able to pass s[n] to standard toxxx/isyyy() functions under Windows when _MBCS is defined as they're mapped to _mbzzz(unsigned int) in this case
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45016 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 15:24:28 +00:00
Václav Slavík
9f1b1b78e1
added wxUniChar <-> unsigned char conversion
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-20 15:49:45 +00:00
Václav Slavík
dbecee02ed
use wxUin32 for wxUniChar::value_type: we need 32bit for it regardless of the platform
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 16:22:11 +00:00
Václav Slavík
d1b7ed6792
wxUniChar::unicode_type -> value_type
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 16:17:37 +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