]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/unichar.h
Add files necessary to run Expat configure.
[wxWidgets.git] / interface / wx / unichar.h
index 479c44679e72bc73c0bbc08c01c302156d5dd881..491874a9e786e9c8f1f9ee85bca41ffd4f1f02d6 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxUniChar
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxUniChar
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -19,21 +19,21 @@ class wxUniChar
 {
 public:
     /**
 {
 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).
+        A type capable of holding any Unicode code point.
+        We do not use wchar_t as it cannot do the job on Win32,
+        where wchar_t is a 16-bit type (wchar_t* is encoded using UTF-16 on Win32).
     */
     typedef wxUint32 value_type;
 
     /**
         Default ctor.
     */
     */
     typedef wxUint32 value_type;
 
     /**
         Default ctor.
     */
-    wxUniChar()
+    wxUniChar();
 
     //@{
     /**
 
     //@{
     /**
-        Create the character from 8bit character value encoded in the current
-        locale's charset.
+        Create a character from the 8-bit character value @a c using the
+        current locale encoding.
     */
     wxUniChar(char c);
     wxUniChar(unsigned char c);
     */
     wxUniChar(char c);
     wxUniChar(unsigned char c);
@@ -45,6 +45,8 @@ public:
     wxUniChar(unsigned long int c);
     wxUniChar(short int c);
     wxUniChar(unsigned short int c);
     wxUniChar(unsigned long int c);
     wxUniChar(short int c);
     wxUniChar(unsigned short int c);
+    wxUniChar(wxLongLong_t c);
+    wxUniChar(wxULongLong_t c);
 
     wxUniChar(const wxUniCharRef& c);
 
 
     wxUniChar(const wxUniCharRef& c);
 
@@ -54,25 +56,51 @@ public:
     value_type GetValue() const;
 
     /**
     value_type GetValue() const;
 
     /**
-        Returns true if the character is an ASCII character.
+        Returns true if the character is an ASCII character (i.e.\ if its value is less than 128).
     */
     bool IsAscii() const;
 
     */
     bool IsAscii() const;
 
+    /**
+        Returns true if the character is representable as a single byte in the
+        current locale encoding.
+
+        This function only returns true if the character can be converted in
+        exactly one byte, e.g. it only returns true for 7 bit ASCII characters
+        when the encoding used is UTF-8.
+
+        It is mostly useful to test if the character can be passed to functions
+        taking a char and is used by wxWidgets itself for this purpose.
+
+        @param c
+            An output pointer to the value of this Unicode character as a @c
+            char. Must be non-@NULL.
+        @return
+            @true if the object is an 8 bit char and @a c was filled with its
+            value as char or @false otherwise (@a c won't be modified then).
+
+        @see IsAscii()
+
+        @since 2.9.1
+     */
+    bool GetAsChar(char *c) 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.
     */
     //@{
     /**
         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; }
+    operator char() const;
+    operator unsigned char() const;
+    operator wchar_t() const;
+    operator int() const;
+    operator unsigned int() const;
+    operator long int() const;
+    operator unsigned long int() const;
+    operator short int() const;
+    operator unsigned short int() const;
+    operator wxLongLong_t() const;
+    operator wxULongLong_t() const;
     //@}
 
     //@{
     //@}
 
     //@{
@@ -90,6 +118,8 @@ public:
     wxUniChar& operator=(unsigned long int c);
     wxUniChar& operator=(short int c);
     wxUniChar& operator=(unsigned short int c);
     wxUniChar& operator=(unsigned long int c);
     wxUniChar& operator=(short int c);
     wxUniChar& operator=(unsigned short int c);
+    wxUniChar& operator=(wxLongLong_t c);
+    wxUniChar& operator=(wxULongLong_t c);
     //@}
 };
 
     //@}
 };