wxWidgets/interface/wx/unichar.h

113 lines
3.0 KiB
Objective-C

/////////////////////////////////////////////////////////////////////////////
// Name: unichar.h
// Purpose: interface of wxUniChar
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
/**
@class wxUniChar
This class represents a single Unicode character. It can be converted to
and from @c char or @c wchar_t and implements commonly used character operations.
@library{wxbase}
@category{data}
*/
class wxUniChar
{
public:
/**
This is not wchar_t on purpose, it needs to represent the entire
Unicode code points range and wchar_t may be too small for that
(e.g. on Win32 where wchar_t* is encoded in UTF-16).
*/
typedef wxUint32 value_type;
/**
Default ctor.
*/
wxUniChar()
//@{
/**
Create the character from 8bit character value encoded in the current
locale's charset.
*/
wxUniChar(char c);
wxUniChar(unsigned char c);
//@}
wxUniChar(int c);
wxUniChar(unsigned int c);
wxUniChar(long int c);
wxUniChar(unsigned long int c);
wxUniChar(short int c);
wxUniChar(unsigned short int c);
wxUniChar(const wxUniCharRef& c);
/**
Returns Unicode code point value of the character.
*/
value_type GetValue() const;
/**
Returns true if the character is an ASCII character.
*/
bool IsAscii() const;
//@{
/**
Conversions to char and wchar_t types: all of those are needed to be
able to pass wxUniChars to various standard narrow and wide character
functions.
*/
operator char() const { return To8bit(m_value); }
operator unsigned char() const { return (unsigned char)To8bit(m_value); }
operator wchar_t() const { return (wchar_t)m_value; }
operator int() const { return (int)m_value; }
operator unsigned int() const { return (unsigned int)m_value; }
operator long int() const { return (long int)m_value; }
operator unsigned long int() const { return (unsigned long)m_value; }
operator short int() const { return (short int)m_value; }
operator unsigned short int() const { return (unsigned short int)m_value; }
//@}
//@{
/**
Assignment operators
*/
wxUniChar& operator=(const wxUniChar& c);
wxUniChar& operator=(const wxUniCharRef& c);
wxUniChar& operator=(char c);
wxUniChar& operator=(unsigned char c);
wxUniChar& operator=(wchar_t c);
wxUniChar& operator=(int c);
wxUniChar& operator=(unsigned int c);
wxUniChar& operator=(long int c);
wxUniChar& operator=(unsigned long int c);
wxUniChar& operator=(short int c);
wxUniChar& operator=(unsigned short int c);
//@}
};
/**
@class wxUniCharRef
Writeable reference to a character in wxString.
This class can be used in the same way wxChar is used, except that changing
its value updates the underlying string object.
@library{wxbase}
@category{data}
*/
class wxUniCharRef
{
public:
};