make To/From8bit() inline for performance reasons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
cdbcd6c12f
commit
ce65118e62
@ -137,8 +137,27 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static value_type From8bit(char c);
|
// notice that we implement these functions inline for 7-bit ASCII
|
||||||
static char To8bit(value_type c);
|
// characters purely for performance reasons
|
||||||
|
static value_type From8bit(char c)
|
||||||
|
{
|
||||||
|
if ( (unsigned char)c < 0x80 )
|
||||||
|
return c;
|
||||||
|
|
||||||
|
return FromHi8bit(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
static char To8bit(value_type c)
|
||||||
|
{
|
||||||
|
if ( c < 0x80 )
|
||||||
|
return c;
|
||||||
|
|
||||||
|
return ToHi8bit(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
// helpers of the functions above called to deal with non-ASCII chars
|
||||||
|
static value_type FromHi8bit(char c);
|
||||||
|
static char ToHi8bit(value_type c);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
value_type m_value;
|
value_type m_value;
|
||||||
|
@ -36,12 +36,8 @@
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
wxUniChar::value_type wxUniChar::From8bit(char c)
|
wxUniChar::value_type wxUniChar::FromHi8bit(char c)
|
||||||
{
|
{
|
||||||
// all supported charsets have the first 128 characters same as ASCII:
|
|
||||||
if ( (unsigned char)c < 0x80 )
|
|
||||||
return c;
|
|
||||||
|
|
||||||
#if wxUSE_UTF8_LOCALE_ONLY
|
#if wxUSE_UTF8_LOCALE_ONLY
|
||||||
wxFAIL_MSG( "invalid UTF-8 character" );
|
wxFAIL_MSG( "invalid UTF-8 character" );
|
||||||
return wxT('?'); // FIXME-UTF8: what to use as failure character?
|
return wxT('?'); // FIXME-UTF8: what to use as failure character?
|
||||||
@ -57,12 +53,8 @@ wxUniChar::value_type wxUniChar::From8bit(char c)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
char wxUniChar::To8bit(wxUniChar::value_type c)
|
char wxUniChar::ToHi8bit(wxUniChar::value_type c)
|
||||||
{
|
{
|
||||||
// all supported charsets have the first 128 characters same as ASCII:
|
|
||||||
if ( c < 0x80 )
|
|
||||||
return c;
|
|
||||||
|
|
||||||
#if wxUSE_UTF8_LOCALE_ONLY
|
#if wxUSE_UTF8_LOCALE_ONLY
|
||||||
wxFAIL_MSG( "character cannot be converted to single UTF-8 byte" );
|
wxFAIL_MSG( "character cannot be converted to single UTF-8 byte" );
|
||||||
return '?'; // FIXME-UTF8: what to use as failure character?
|
return '?'; // FIXME-UTF8: what to use as failure character?
|
||||||
|
Loading…
Reference in New Issue
Block a user