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:
|
||||
static value_type From8bit(char c);
|
||||
static char To8bit(value_type c);
|
||||
// notice that we implement these functions inline for 7-bit ASCII
|
||||
// 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:
|
||||
value_type m_value;
|
||||
|
@ -36,12 +36,8 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/* 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
|
||||
wxFAIL_MSG( "invalid UTF-8 character" );
|
||||
return wxT('?'); // FIXME-UTF8: what to use as failure character?
|
||||
@ -57,12 +53,8 @@ wxUniChar::value_type wxUniChar::From8bit(char c)
|
||||
}
|
||||
|
||||
/* 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
|
||||
wxFAIL_MSG( "character cannot be converted to single UTF-8 byte" );
|
||||
return '?'; // FIXME-UTF8: what to use as failure character?
|
||||
|
Loading…
Reference in New Issue
Block a user