summaryrefslogtreecommitdiff
path: root/libs/glibmm2/glibmm/unicode.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/glibmm2/glibmm/unicode.h')
-rw-r--r--libs/glibmm2/glibmm/unicode.h311
1 files changed, 311 insertions, 0 deletions
diff --git a/libs/glibmm2/glibmm/unicode.h b/libs/glibmm2/glibmm/unicode.h
new file mode 100644
index 0000000000..fd2f68a798
--- /dev/null
+++ b/libs/glibmm2/glibmm/unicode.h
@@ -0,0 +1,311 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GLIBMM_UNICODE_H
+#define _GLIBMM_UNICODE_H
+
+
+/* $Id$ */
+
+/* Copyright (C) 2002 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+#include <glib/gmacros.h>
+#include <glib/gstrfuncs.h>
+#include <glib/gunicode.h>
+
+// Not used, but we want to get rid of possible <ctype.h> macros.
+#include <cctype>
+
+#undef isalnum
+#undef isalpha
+#undef iscntrl
+#undef isdigit
+#undef isgraph
+#undef islower
+#undef isprint
+#undef ispunct
+#undef isspace
+#undef isupper
+#undef isxdigit
+#undef istitle
+#undef isdefined
+#undef iswide
+#undef toupper
+#undef tolower
+#undef totitle
+
+
+namespace Glib
+{
+
+/** @addtogroup glibmmEnums Enums and Flags */
+
+/**
+ * @ingroup glibmmEnums
+ */
+enum UnicodeType
+{
+ UNICODE_CONTROL,
+ UNICODE_FORMAT,
+ UNICODE_UNASSIGNED,
+ UNICODE_PRIVATE_USE,
+ UNICODE_SURROGATE,
+ UNICODE_LOWERCASE_LETTER,
+ UNICODE_MODIFIER_LETTER,
+ UNICODE_OTHER_LETTER,
+ UNICODE_TITLECASE_LETTER,
+ UNICODE_UPPERCASE_LETTER,
+ UNICODE_COMBINING_MARK,
+ UNICODE_ENCLOSING_MARK,
+ UNICODE_NON_SPACING_MARK,
+ UNICODE_DECIMAL_NUMBER,
+ UNICODE_LETTER_NUMBER,
+ UNICODE_OTHER_NUMBER,
+ UNICODE_CONNECT_PUNCTUATION,
+ UNICODE_DASH_PUNCTUATION,
+ UNICODE_CLOSE_PUNCTUATION,
+ UNICODE_FINAL_PUNCTUATION,
+ UNICODE_INITIAL_PUNCTUATION,
+ UNICODE_OTHER_PUNCTUATION,
+ UNICODE_OPEN_PUNCTUATION,
+ UNICODE_CURRENCY_SYMBOL,
+ UNICODE_MODIFIER_SYMBOL,
+ UNICODE_MATH_SYMBOL,
+ UNICODE_OTHER_SYMBOL,
+ UNICODE_LINE_SEPARATOR,
+ UNICODE_PARAGRAPH_SEPARATOR,
+ UNICODE_SPACE_SEPARATOR
+};
+
+
+/**
+ * @ingroup glibmmEnums
+ */
+enum UnicodeBreakType
+{
+ UNICODE_BREAK_MANDATORY,
+ UNICODE_BREAK_CARRIAGE_RETURN,
+ UNICODE_BREAK_LINE_FEED,
+ UNICODE_BREAK_COMBINING_MARK,
+ UNICODE_BREAK_SURROGATE,
+ UNICODE_BREAK_ZERO_WIDTH_SPACE,
+ UNICODE_BREAK_INSEPARABLE,
+ UNICODE_BREAK_NON_BREAKING_GLUE,
+ UNICODE_BREAK_CONTINGENT,
+ UNICODE_BREAK_SPACE,
+ UNICODE_BREAK_AFTER,
+ UNICODE_BREAK_BEFORE,
+ UNICODE_BREAK_BEFORE_AND_AFTER,
+ UNICODE_BREAK_HYPHEN,
+ UNICODE_BREAK_NON_STARTER,
+ UNICODE_BREAK_OPEN_PUNCTUATION,
+ UNICODE_BREAK_CLOSE_PUNCTUATION,
+ UNICODE_BREAK_QUOTATION,
+ UNICODE_BREAK_EXCLAMATION,
+ UNICODE_BREAK_IDEOGRAPHIC,
+ UNICODE_BREAK_NUMERIC,
+ UNICODE_BREAK_INFIX_SEPARATOR,
+ UNICODE_BREAK_SYMBOL,
+ UNICODE_BREAK_ALPHABETIC,
+ UNICODE_BREAK_PREFIX,
+ UNICODE_BREAK_POSTFIX,
+ UNICODE_BREAK_COMPLEX_CONTEXT,
+ UNICODE_BREAK_AMBIGUOUS,
+ UNICODE_BREAK_UNKNOWN,
+ UNICODE_BREAK_NEXT_LINE,
+ UNICODE_BREAK_WORD_JOINER
+};
+
+
+/**
+ * @ingroup glibmmEnums
+ * @par Bitwise operators:
+ * <tt>%AsciiType operator|(AsciiType, AsciiType)</tt><br>
+ * <tt>%AsciiType operator&(AsciiType, AsciiType)</tt><br>
+ * <tt>%AsciiType operator^(AsciiType, AsciiType)</tt><br>
+ * <tt>%AsciiType operator~(AsciiType)</tt><br>
+ * <tt>%AsciiType& operator|=(AsciiType&, AsciiType)</tt><br>
+ * <tt>%AsciiType& operator&=(AsciiType&, AsciiType)</tt><br>
+ * <tt>%AsciiType& operator^=(AsciiType&, AsciiType)</tt><br>
+ */
+enum AsciiType
+{
+ ASCII_ALNUM = 1 << 0,
+ ASCII_ALPHA = 1 << 1,
+ ASCII_CNTRL = 1 << 2,
+ ASCII_DIGIT = 1 << 3,
+ ASCII_GRAPH = 1 << 4,
+ ASCII_LOWER = 1 << 5,
+ ASCII_PRINT = 1 << 6,
+ ASCII_PUNCT = 1 << 7,
+ ASCII_SPACE = 1 << 8,
+ ASCII_UPPER = 1 << 9,
+ ASCII_XDIGIT = 1 << 10
+};
+
+/** @ingroup glibmmEnums */
+inline AsciiType operator|(AsciiType lhs, AsciiType rhs)
+ { return static_cast<AsciiType>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
+
+/** @ingroup glibmmEnums */
+inline AsciiType operator&(AsciiType lhs, AsciiType rhs)
+ { return static_cast<AsciiType>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
+
+/** @ingroup glibmmEnums */
+inline AsciiType operator^(AsciiType lhs, AsciiType rhs)
+ { return static_cast<AsciiType>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
+
+/** @ingroup glibmmEnums */
+inline AsciiType operator~(AsciiType flags)
+ { return static_cast<AsciiType>(~static_cast<unsigned>(flags)); }
+
+/** @ingroup glibmmEnums */
+inline AsciiType& operator|=(AsciiType& lhs, AsciiType rhs)
+ { return (lhs = static_cast<AsciiType>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
+
+/** @ingroup glibmmEnums */
+inline AsciiType& operator&=(AsciiType& lhs, AsciiType rhs)
+ { return (lhs = static_cast<AsciiType>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
+
+/** @ingroup glibmmEnums */
+inline AsciiType& operator^=(AsciiType& lhs, AsciiType rhs)
+ { return (lhs = static_cast<AsciiType>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
+
+
+/**
+ * @ingroup glibmmEnums
+ */
+enum NormalizeMode
+{
+ NORMALIZE_DEFAULT,
+ NORMALIZE_NFD,
+ NORMALIZE_DEFAULT_COMPOSE,
+ NORMALIZE_NFC = NORMALIZE_DEFAULT_COMPOSE,
+ NORMALIZE_ALL,
+ NORMALIZE_NFKD = NORMALIZE_ALL,
+ NORMALIZE_ALL_COMPOSE,
+ NORMALIZE_NFKC = NORMALIZE_ALL_COMPOSE
+};
+
+
+/** @defgroup Unicode Unicode Manipulation
+ * Functions operating on Unicode characters and UTF-8 strings.
+ * @{
+ */
+
+namespace Unicode
+{
+
+inline bool validate(gunichar uc)
+ { return (g_unichar_validate(uc) != 0); }
+inline bool isalnum(gunichar uc)
+ { return (g_unichar_isalnum(uc) != 0); }
+inline bool isalpha(gunichar uc)
+ { return (g_unichar_isalpha(uc) != 0); }
+inline bool iscntrl(gunichar uc)
+ { return (g_unichar_iscntrl(uc) != 0); }
+inline bool isdigit(gunichar uc)
+ { return (g_unichar_isdigit(uc) != 0); }
+inline bool isgraph(gunichar uc)
+ { return (g_unichar_isgraph(uc) != 0); }
+inline bool islower(gunichar uc)
+ { return (g_unichar_islower(uc) != 0); }
+inline bool isprint(gunichar uc)
+ { return (g_unichar_isprint(uc) != 0); }
+inline bool ispunct(gunichar uc)
+ { return (g_unichar_ispunct(uc) != 0); }
+inline bool isspace(gunichar uc)
+ { return (g_unichar_isspace(uc) != 0); }
+inline bool isupper(gunichar uc)
+ { return (g_unichar_isupper(uc) != 0); }
+inline bool isxdigit(gunichar uc)
+ { return (g_unichar_isxdigit(uc) != 0); }
+inline bool istitle(gunichar uc)
+ { return (g_unichar_istitle(uc) != 0); }
+inline bool isdefined(gunichar uc)
+ { return (g_unichar_isdefined(uc) != 0); }
+inline bool iswide(gunichar uc)
+ { return (g_unichar_iswide(uc) != 0); }
+
+inline gunichar toupper(gunichar uc)
+ { return g_unichar_toupper(uc); }
+inline gunichar tolower(gunichar uc)
+ { return g_unichar_tolower(uc); }
+inline gunichar totitle(gunichar uc)
+ { return g_unichar_totitle(uc); }
+
+inline int digit_value(gunichar uc)
+ { return g_unichar_digit_value(uc); }
+inline int xdigit_value(gunichar uc)
+ { return g_unichar_xdigit_value(uc); }
+
+inline Glib::UnicodeType type(gunichar uc)
+ { return static_cast<Glib::UnicodeType>(static_cast<int>(g_unichar_type(uc))); }
+
+inline Glib::UnicodeBreakType break_type(gunichar uc)
+ { return static_cast<Glib::UnicodeBreakType>(static_cast<int>(g_unichar_break_type(uc))); }
+
+} // namespace Unicode
+
+
+namespace Ascii
+{
+
+inline bool isalnum(char c)
+ { return g_ascii_isalnum(c); }
+inline bool isalpha(char c)
+ { return g_ascii_isalpha(c); }
+inline bool iscntrl(char c)
+ { return g_ascii_iscntrl(c); }
+inline bool isdigit(char c)
+ { return g_ascii_isdigit(c); }
+inline bool isgraph(char c)
+ { return g_ascii_isgraph(c); }
+inline bool islower(char c)
+ { return g_ascii_islower(c); }
+inline bool isprint(char c)
+ { return g_ascii_isprint(c); }
+inline bool ispunct(char c)
+ { return g_ascii_ispunct(c); }
+inline bool isspace(char c)
+ { return g_ascii_isspace(c); }
+inline bool isupper(char c)
+ { return g_ascii_isupper(c); }
+inline bool isxdigit(char c)
+ { return g_ascii_isxdigit(c); }
+
+inline char tolower(char c)
+ { return g_ascii_tolower(c); }
+inline char toupper(char c)
+ { return g_ascii_toupper(c); }
+
+inline int digit_value(char c)
+ { return g_ascii_digit_value(c); }
+inline int xdigit_value(char c)
+ { return g_ascii_xdigit_value(c); }
+
+} // namespace Ascii
+
+
+/** @} group Unicode */
+
+} // namespace Glib
+
+
+#endif /* _GLIBMM_UNICODE_H */
+