1 // Generated by gmmproc 2.64.2 -- DO NOT MODIFY!
2 #ifndef _GLIBMM_UNICODE_H
3 #define _GLIBMM_UNICODE_H
4
5
6 /* Copyright (C) 2002 The gtkmm Development Team
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
20 */
21
22
23 #include <glib.h>
24
25 // Not used, but we want to get rid of possible <ctype.h> macros.
26 #include <cctype>
27
28 #undef isalnum
29 #undef isalpha
30 #undef iscntrl
31 #undef isdigit
32 #undef isgraph
33 #undef islower
34 #undef isprint
35 #undef ispunct
36 #undef isspace
37 #undef isupper
38 #undef isxdigit
39 #undef istitle
40 #undef isdefined
41 #undef iswide
42 #undef toupper
43 #undef tolower
44 #undef totitle
45
46
47 namespace Glib
48 {
49
50 /** @addtogroup glibmmEnums glibmm Enums and Flags */
51
52 /**
53 * @var UnicodeType UNICODE_CONTROL
54 * General category "Other, Control" (Cc).
55 *
56 * @var UnicodeType UNICODE_FORMAT
57 * General category "Other, Format" (Cf).
58 *
59 * @var UnicodeType UNICODE_UNASSIGNED
60 * General category "Other, Not Assigned" (Cn).
61 *
62 * @var UnicodeType UNICODE_PRIVATE_USE
63 * General category "Other, Private Use" (Co).
64 *
65 * @var UnicodeType UNICODE_SURROGATE
66 * General category "Other, Surrogate" (Cs).
67 *
68 * @var UnicodeType UNICODE_LOWERCASE_LETTER
69 * General category "Letter, Lowercase" (Ll).
70 *
71 * @var UnicodeType UNICODE_MODIFIER_LETTER
72 * General category "Letter, Modifier" (Lm).
73 *
74 * @var UnicodeType UNICODE_OTHER_LETTER
75 * General category "Letter, Other" (Lo).
76 *
77 * @var UnicodeType UNICODE_TITLECASE_LETTER
78 * General category "Letter, Titlecase" (Lt).
79 *
80 * @var UnicodeType UNICODE_UPPERCASE_LETTER
81 * General category "Letter, Uppercase" (Lu).
82 *
83 * @var UnicodeType UNICODE_SPACING_MARK
84 * General category "Mark, Spacing" (Mc).
85 *
86 * @var UnicodeType UNICODE_ENCLOSING_MARK
87 * General category "Mark, Enclosing" (Me).
88 *
89 * @var UnicodeType UNICODE_NON_SPACING_MARK
90 * General category "Mark, Nonspacing" (Mn).
91 *
92 * @var UnicodeType UNICODE_DECIMAL_NUMBER
93 * General category "Number, Decimal Digit" (Nd).
94 *
95 * @var UnicodeType UNICODE_LETTER_NUMBER
96 * General category "Number, Letter" (Nl).
97 *
98 * @var UnicodeType UNICODE_OTHER_NUMBER
99 * General category "Number, Other" (No).
100 *
101 * @var UnicodeType UNICODE_CONNECT_PUNCTUATION
102 * General category "Punctuation, Connector" (Pc).
103 *
104 * @var UnicodeType UNICODE_DASH_PUNCTUATION
105 * General category "Punctuation, Dash" (Pd).
106 *
107 * @var UnicodeType UNICODE_CLOSE_PUNCTUATION
108 * General category "Punctuation, Close" (Pe).
109 *
110 * @var UnicodeType UNICODE_FINAL_PUNCTUATION
111 * General category "Punctuation, Final quote" (Pf).
112 *
113 * @var UnicodeType UNICODE_INITIAL_PUNCTUATION
114 * General category "Punctuation, Initial quote" (Pi).
115 *
116 * @var UnicodeType UNICODE_OTHER_PUNCTUATION
117 * General category "Punctuation, Other" (Po).
118 *
119 * @var UnicodeType UNICODE_OPEN_PUNCTUATION
120 * General category "Punctuation, Open" (Ps).
121 *
122 * @var UnicodeType UNICODE_CURRENCY_SYMBOL
123 * General category "Symbol, Currency" (Sc).
124 *
125 * @var UnicodeType UNICODE_MODIFIER_SYMBOL
126 * General category "Symbol, Modifier" (Sk).
127 *
128 * @var UnicodeType UNICODE_MATH_SYMBOL
129 * General category "Symbol, Math" (Sm).
130 *
131 * @var UnicodeType UNICODE_OTHER_SYMBOL
132 * General category "Symbol, Other" (So).
133 *
134 * @var UnicodeType UNICODE_LINE_SEPARATOR
135 * General category "Separator, Line" (Zl).
136 *
137 * @var UnicodeType UNICODE_PARAGRAPH_SEPARATOR
138 * General category "Separator, Paragraph" (Zp).
139 *
140 * @var UnicodeType UNICODE_SPACE_SEPARATOR
141 * General category "Separator, Space" (Zs).
142 *
143 * @enum UnicodeType
144 *
145 * These are the possible character classifications from the
146 * Unicode specification.
147 * See [Unicode Character Database](http://www.unicode.org/reports/tr44/#General_Category_Values).
148 *
149 * @ingroup glibmmEnums
150 */
151 enum UnicodeType
152 {
153 UNICODE_CONTROL,
154 UNICODE_FORMAT,
155 UNICODE_UNASSIGNED,
156 UNICODE_PRIVATE_USE,
157 UNICODE_SURROGATE,
158 UNICODE_LOWERCASE_LETTER,
159 UNICODE_MODIFIER_LETTER,
160 UNICODE_OTHER_LETTER,
161 UNICODE_TITLECASE_LETTER,
162 UNICODE_UPPERCASE_LETTER,
163 UNICODE_SPACING_MARK,
164 UNICODE_ENCLOSING_MARK,
165 UNICODE_NON_SPACING_MARK,
166 UNICODE_DECIMAL_NUMBER,
167 UNICODE_LETTER_NUMBER,
168 UNICODE_OTHER_NUMBER,
169 UNICODE_CONNECT_PUNCTUATION,
170 UNICODE_DASH_PUNCTUATION,
171 UNICODE_CLOSE_PUNCTUATION,
172 UNICODE_FINAL_PUNCTUATION,
173 UNICODE_INITIAL_PUNCTUATION,
174 UNICODE_OTHER_PUNCTUATION,
175 UNICODE_OPEN_PUNCTUATION,
176 UNICODE_CURRENCY_SYMBOL,
177 UNICODE_MODIFIER_SYMBOL,
178 UNICODE_MATH_SYMBOL,
179 UNICODE_OTHER_SYMBOL,
180 UNICODE_LINE_SEPARATOR,
181 UNICODE_PARAGRAPH_SEPARATOR,
182 UNICODE_SPACE_SEPARATOR
183 };
184
185
186 /**
187 * @var UnicodeBreakType UNICODE_BREAK_MANDATORY
188 * Mandatory Break (BK).
189 *
190 * @var UnicodeBreakType UNICODE_BREAK_CARRIAGE_RETURN
191 * Carriage Return (CR).
192 *
193 * @var UnicodeBreakType UNICODE_BREAK_LINE_FEED
194 * Line Feed (LF).
195 *
196 * @var UnicodeBreakType UNICODE_BREAK_COMBINING_MARK
197 * Attached Characters and Combining Marks (CM).
198 *
199 * @var UnicodeBreakType UNICODE_BREAK_SURROGATE
200 * Surrogates (SG).
201 *
202 * @var UnicodeBreakType UNICODE_BREAK_ZERO_WIDTH_SPACE
203 * Zero Width Space (ZW).
204 *
205 * @var UnicodeBreakType UNICODE_BREAK_INSEPARABLE
206 * Inseparable (IN).
207 *
208 * @var UnicodeBreakType UNICODE_BREAK_NON_BREAKING_GLUE
209 * Non-breaking ("Glue") (GL).
210 *
211 * @var UnicodeBreakType UNICODE_BREAK_CONTINGENT
212 * Contingent Break Opportunity (CB).
213 *
214 * @var UnicodeBreakType UNICODE_BREAK_SPACE
215 * Space (SP).
216 *
217 * @var UnicodeBreakType UNICODE_BREAK_AFTER
218 * Break Opportunity After (BA).
219 *
220 * @var UnicodeBreakType UNICODE_BREAK_BEFORE
221 * Break Opportunity Before (BB).
222 *
223 * @var UnicodeBreakType UNICODE_BREAK_BEFORE_AND_AFTER
224 * Break Opportunity Before and After (B2).
225 *
226 * @var UnicodeBreakType UNICODE_BREAK_HYPHEN
227 * Hyphen (HY).
228 *
229 * @var UnicodeBreakType UNICODE_BREAK_NON_STARTER
230 * Nonstarter (NS).
231 *
232 * @var UnicodeBreakType UNICODE_BREAK_OPEN_PUNCTUATION
233 * Opening Punctuation (OP).
234 *
235 * @var UnicodeBreakType UNICODE_BREAK_CLOSE_PUNCTUATION
236 * Closing Punctuation (CL).
237 *
238 * @var UnicodeBreakType UNICODE_BREAK_QUOTATION
239 * Ambiguous Quotation (QU).
240 *
241 * @var UnicodeBreakType UNICODE_BREAK_EXCLAMATION
242 * Exclamation/Interrogation (EX).
243 *
244 * @var UnicodeBreakType UNICODE_BREAK_IDEOGRAPHIC
245 * Ideographic (ID).
246 *
247 * @var UnicodeBreakType UNICODE_BREAK_NUMERIC
248 * Numeric (NU).
249 *
250 * @var UnicodeBreakType UNICODE_BREAK_INFIX_SEPARATOR
251 * Infix Separator (Numeric) (IS).
252 *
253 * @var UnicodeBreakType UNICODE_BREAK_SYMBOL
254 * Symbols Allowing Break After (SY).
255 *
256 * @var UnicodeBreakType UNICODE_BREAK_ALPHABETIC
257 * Ordinary Alphabetic and Symbol Characters (AL).
258 *
259 * @var UnicodeBreakType UNICODE_BREAK_PREFIX
260 * Prefix (Numeric) (PR).
261 *
262 * @var UnicodeBreakType UNICODE_BREAK_POSTFIX
263 * Postfix (Numeric) (PO).
264 *
265 * @var UnicodeBreakType UNICODE_BREAK_COMPLEX_CONTEXT
266 * Complex Content Dependent (South East Asian) (SA).
267 *
268 * @var UnicodeBreakType UNICODE_BREAK_AMBIGUOUS
269 * Ambiguous (Alphabetic or Ideographic) (AI).
270 *
271 * @var UnicodeBreakType UNICODE_BREAK_UNKNOWN
272 * Unknown (XX).
273 *
274 * @var UnicodeBreakType UNICODE_BREAK_NEXT_LINE
275 * Next Line (NL).
276 *
277 * @var UnicodeBreakType UNICODE_BREAK_WORD_JOINER
278 * Word Joiner (WJ).
279 *
280 * @var UnicodeBreakType UNICODE_BREAK_HANGUL_L_JAMO
281 * Hangul L Jamo (JL).
282 *
283 * @var UnicodeBreakType UNICODE_BREAK_HANGUL_V_JAMO
284 * Hangul V Jamo (JV).
285 *
286 * @var UnicodeBreakType UNICODE_BREAK_HANGUL_T_JAMO
287 * Hangul T Jamo (JT).
288 *
289 * @var UnicodeBreakType UNICODE_BREAK_HANGUL_LV_SYLLABLE
290 * Hangul LV Syllable (H2).
291 *
292 * @var UnicodeBreakType UNICODE_BREAK_HANGUL_LVT_SYLLABLE
293 * Hangul LVT Syllable (H3).
294 *
295 * @var UnicodeBreakType UNICODE_BREAK_CLOSE_PARANTHESIS
296 * Closing Parenthesis (CP). @newin{2,28}
297 *
298 * @var UnicodeBreakType UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER
299 * Conditional Japanese Starter (CJ). @newin{2,32}
300 *
301 * @var UnicodeBreakType UNICODE_BREAK_HEBREW_LETTER
302 * Hebrew Letter (HL). @newin{2,32}
303 *
304 * @var UnicodeBreakType UNICODE_BREAK_REGIONAL_INDICATOR
305 * Regional Indicator (RI). @newin{2,36}
306 *
307 * @var UnicodeBreakType UNICODE_BREAK_EMOJI_BASE
308 * Emoji Base (EB). @newin{2,50}
309 *
310 * @var UnicodeBreakType UNICODE_BREAK_EMOJI_MODIFIER
311 * Emoji Modifier (EM). @newin{2,50}
312 *
313 * @var UnicodeBreakType UNICODE_BREAK_ZERO_WIDTH_JOINER
314 * Zero Width Joiner (ZWJ). @newin{2,50}
315 *
316 * @enum UnicodeBreakType
317 *
318 * These are the possible line break classifications.
319 *
320 * Since new unicode versions may add new types here, applications should be ready
321 * to handle unknown values. They may be regarded as UNICODE_BREAK_UNKNOWN.
322 *
323 * See [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr14/).
324 *
325 * @ingroup glibmmEnums
326 */
327 enum UnicodeBreakType
328 {
329 UNICODE_BREAK_MANDATORY,
330 UNICODE_BREAK_CARRIAGE_RETURN,
331 UNICODE_BREAK_LINE_FEED,
332 UNICODE_BREAK_COMBINING_MARK,
333 UNICODE_BREAK_SURROGATE,
334 UNICODE_BREAK_ZERO_WIDTH_SPACE,
335 UNICODE_BREAK_INSEPARABLE,
336 UNICODE_BREAK_NON_BREAKING_GLUE,
337 UNICODE_BREAK_CONTINGENT,
338 UNICODE_BREAK_SPACE,
339 UNICODE_BREAK_AFTER,
340 UNICODE_BREAK_BEFORE,
341 UNICODE_BREAK_BEFORE_AND_AFTER,
342 UNICODE_BREAK_HYPHEN,
343 UNICODE_BREAK_NON_STARTER,
344 UNICODE_BREAK_OPEN_PUNCTUATION,
345 UNICODE_BREAK_CLOSE_PUNCTUATION,
346 UNICODE_BREAK_QUOTATION,
347 UNICODE_BREAK_EXCLAMATION,
348 UNICODE_BREAK_IDEOGRAPHIC,
349 UNICODE_BREAK_NUMERIC,
350 UNICODE_BREAK_INFIX_SEPARATOR,
351 UNICODE_BREAK_SYMBOL,
352 UNICODE_BREAK_ALPHABETIC,
353 UNICODE_BREAK_PREFIX,
354 UNICODE_BREAK_POSTFIX,
355 UNICODE_BREAK_COMPLEX_CONTEXT,
356 UNICODE_BREAK_AMBIGUOUS,
357 UNICODE_BREAK_UNKNOWN,
358 UNICODE_BREAK_NEXT_LINE,
359 UNICODE_BREAK_WORD_JOINER,
360 UNICODE_BREAK_HANGUL_L_JAMO,
361 UNICODE_BREAK_HANGUL_V_JAMO,
362 UNICODE_BREAK_HANGUL_T_JAMO,
363 UNICODE_BREAK_HANGUL_LV_SYLLABLE,
364 UNICODE_BREAK_HANGUL_LVT_SYLLABLE,
365 UNICODE_BREAK_CLOSE_PARANTHESIS,
366 UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER,
367 UNICODE_BREAK_HEBREW_LETTER,
368 UNICODE_BREAK_REGIONAL_INDICATOR,
369 UNICODE_BREAK_EMOJI_BASE,
370 UNICODE_BREAK_EMOJI_MODIFIER,
371 UNICODE_BREAK_ZERO_WIDTH_JOINER
372 };
373
374
375 /**
376 *
377 * @ingroup glibmmEnums
378 * @par Bitwise operators:
379 * <tt>%AsciiType operator|(AsciiType, AsciiType)</tt><br>
380 * <tt>%AsciiType operator&(AsciiType, AsciiType)</tt><br>
381 * <tt>%AsciiType operator^(AsciiType, AsciiType)</tt><br>
382 * <tt>%AsciiType operator~(AsciiType)</tt><br>
383 * <tt>%AsciiType& operator|=(AsciiType&, AsciiType)</tt><br>
384 * <tt>%AsciiType& operator&=(AsciiType&, AsciiType)</tt><br>
385 * <tt>%AsciiType& operator^=(AsciiType&, AsciiType)</tt><br>
386 */
387 enum AsciiType
388 {
389 ASCII_ALNUM = 1 << 0,
390 ASCII_ALPHA = 1 << 1,
391 ASCII_CNTRL = 1 << 2,
392 ASCII_DIGIT = 1 << 3,
393 ASCII_GRAPH = 1 << 4,
394 ASCII_LOWER = 1 << 5,
395 ASCII_PRINT = 1 << 6,
396 ASCII_PUNCT = 1 << 7,
397 ASCII_SPACE = 1 << 8,
398 ASCII_UPPER = 1 << 9,
399 ASCII_XDIGIT = 1 << 10
400 };
401
402 /** @ingroup glibmmEnums */
403 inline AsciiType operator|(AsciiType lhs, AsciiType rhs)
404 { return static_cast<AsciiType>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
405
406 /** @ingroup glibmmEnums */
407 inline AsciiType operator&(AsciiType lhs, AsciiType rhs)
408 { return static_cast<AsciiType>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
409
410 /** @ingroup glibmmEnums */
411 inline AsciiType operator^(AsciiType lhs, AsciiType rhs)
412 { return static_cast<AsciiType>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
413
414 /** @ingroup glibmmEnums */
415 inline AsciiType operator~(AsciiType flags)
416 { return static_cast<AsciiType>(~static_cast<unsigned>(flags)); }
417
418 /** @ingroup glibmmEnums */
419 inline AsciiType& operator|=(AsciiType& lhs, AsciiType rhs)
420 { return (lhs = static_cast<AsciiType>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
421
422 /** @ingroup glibmmEnums */
423 inline AsciiType& operator&=(AsciiType& lhs, AsciiType rhs)
424 { return (lhs = static_cast<AsciiType>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
425
426 /** @ingroup glibmmEnums */
427 inline AsciiType& operator^=(AsciiType& lhs, AsciiType rhs)
428 { return (lhs = static_cast<AsciiType>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
429
430
431 /**
432 * @var NormalizeMode NORMALIZE_DEFAULT
433 * Standardize differences that do not affect the
434 * text content, such as the above-mentioned accent representation.
435 *
436 * @var NormalizeMode NORMALIZE_NFD
437 * Another name for NORMALIZE_DEFAULT.
438 *
439 * @var NormalizeMode NORMALIZE_DEFAULT_COMPOSE
440 * Like NORMALIZE_DEFAULT, but with
441 * composed forms rather than a maximally decomposed form.
442 *
443 * @var NormalizeMode NORMALIZE_NFC
444 * Another name for NORMALIZE_DEFAULT_COMPOSE.
445 *
446 * @var NormalizeMode NORMALIZE_ALL
447 * Beyond NORMALIZE_DEFAULT also standardize the
448 * "compatibility" characters in Unicode, such as SUPERSCRIPT THREE
449 * to the standard forms (in this case DIGIT THREE). Formatting
450 * information may be lost but for most text operations such
451 * characters should be considered the same.
452 *
453 * @var NormalizeMode NORMALIZE_NFKD
454 * Another name for NORMALIZE_ALL.
455 *
456 * @var NormalizeMode NORMALIZE_ALL_COMPOSE
457 * Like NORMALIZE_ALL, but with composed
458 * forms rather than a maximally decomposed form.
459 *
460 * @var NormalizeMode NORMALIZE_NFKC
461 * Another name for NORMALIZE_ALL_COMPOSE.
462 *
463 * @enum NormalizeMode
464 *
465 * Defines how a Unicode string is transformed in a canonical
466 * form, standardizing such issues as whether a character with
467 * an accent is represented as a base character and combining
468 * accent or as a single precomposed character. Unicode strings
469 * should generally be normalized before comparing them.
470 *
471 * @ingroup glibmmEnums
472 */
473 enum NormalizeMode
474 {
475 NORMALIZE_DEFAULT,
476 NORMALIZE_NFD = NORMALIZE_DEFAULT,
477 NORMALIZE_DEFAULT_COMPOSE,
478 NORMALIZE_NFC = NORMALIZE_DEFAULT_COMPOSE,
479 NORMALIZE_ALL,
480 NORMALIZE_NFKD = NORMALIZE_ALL,
481 NORMALIZE_ALL_COMPOSE,
482 NORMALIZE_NFKC = NORMALIZE_ALL_COMPOSE
483 };
484
485
486 /** @defgroup Unicode Unicode Manipulation
487 * Functions operating on Unicode characters and UTF-8 strings.
488 * @{
489 */
490
491 namespace Unicode
492 {
493
validate(gunichar uc)494 inline bool validate(gunichar uc)
495 { return (g_unichar_validate(uc) != 0); }
isalnum(gunichar uc)496 inline bool isalnum(gunichar uc)
497 { return (g_unichar_isalnum(uc) != 0); }
isalpha(gunichar uc)498 inline bool isalpha(gunichar uc)
499 { return (g_unichar_isalpha(uc) != 0); }
iscntrl(gunichar uc)500 inline bool iscntrl(gunichar uc)
501 { return (g_unichar_iscntrl(uc) != 0); }
isdigit(gunichar uc)502 inline bool isdigit(gunichar uc)
503 { return (g_unichar_isdigit(uc) != 0); }
isgraph(gunichar uc)504 inline bool isgraph(gunichar uc)
505 { return (g_unichar_isgraph(uc) != 0); }
islower(gunichar uc)506 inline bool islower(gunichar uc)
507 { return (g_unichar_islower(uc) != 0); }
isprint(gunichar uc)508 inline bool isprint(gunichar uc)
509 { return (g_unichar_isprint(uc) != 0); }
ispunct(gunichar uc)510 inline bool ispunct(gunichar uc)
511 { return (g_unichar_ispunct(uc) != 0); }
isspace(gunichar uc)512 inline bool isspace(gunichar uc)
513 { return (g_unichar_isspace(uc) != 0); }
isupper(gunichar uc)514 inline bool isupper(gunichar uc)
515 { return (g_unichar_isupper(uc) != 0); }
isxdigit(gunichar uc)516 inline bool isxdigit(gunichar uc)
517 { return (g_unichar_isxdigit(uc) != 0); }
istitle(gunichar uc)518 inline bool istitle(gunichar uc)
519 { return (g_unichar_istitle(uc) != 0); }
isdefined(gunichar uc)520 inline bool isdefined(gunichar uc)
521 { return (g_unichar_isdefined(uc) != 0); }
iswide(gunichar uc)522 inline bool iswide(gunichar uc)
523 { return (g_unichar_iswide(uc) != 0); }
524
toupper(gunichar uc)525 inline gunichar toupper(gunichar uc)
526 { return g_unichar_toupper(uc); }
tolower(gunichar uc)527 inline gunichar tolower(gunichar uc)
528 { return g_unichar_tolower(uc); }
totitle(gunichar uc)529 inline gunichar totitle(gunichar uc)
530 { return g_unichar_totitle(uc); }
531
digit_value(gunichar uc)532 inline int digit_value(gunichar uc)
533 { return g_unichar_digit_value(uc); }
xdigit_value(gunichar uc)534 inline int xdigit_value(gunichar uc)
535 { return g_unichar_xdigit_value(uc); }
536
type(gunichar uc)537 inline Glib::UnicodeType type(gunichar uc)
538 { return static_cast<Glib::UnicodeType>(static_cast<int>(g_unichar_type(uc))); }
539
break_type(gunichar uc)540 inline Glib::UnicodeBreakType break_type(gunichar uc)
541 { return static_cast<Glib::UnicodeBreakType>(static_cast<int>(g_unichar_break_type(uc))); }
542
543 } // namespace Unicode
544
545
546 namespace Ascii
547 {
548
isalnum(char c)549 inline bool isalnum(char c)
550 { return g_ascii_isalnum(c); }
isalpha(char c)551 inline bool isalpha(char c)
552 { return g_ascii_isalpha(c); }
iscntrl(char c)553 inline bool iscntrl(char c)
554 { return g_ascii_iscntrl(c); }
isdigit(char c)555 inline bool isdigit(char c)
556 { return g_ascii_isdigit(c); }
isgraph(char c)557 inline bool isgraph(char c)
558 { return g_ascii_isgraph(c); }
islower(char c)559 inline bool islower(char c)
560 { return g_ascii_islower(c); }
isprint(char c)561 inline bool isprint(char c)
562 { return g_ascii_isprint(c); }
ispunct(char c)563 inline bool ispunct(char c)
564 { return g_ascii_ispunct(c); }
isspace(char c)565 inline bool isspace(char c)
566 { return g_ascii_isspace(c); }
isupper(char c)567 inline bool isupper(char c)
568 { return g_ascii_isupper(c); }
isxdigit(char c)569 inline bool isxdigit(char c)
570 { return g_ascii_isxdigit(c); }
571
tolower(char c)572 inline char tolower(char c)
573 { return g_ascii_tolower(c); }
toupper(char c)574 inline char toupper(char c)
575 { return g_ascii_toupper(c); }
576
digit_value(char c)577 inline int digit_value(char c)
578 { return g_ascii_digit_value(c); }
xdigit_value(char c)579 inline int xdigit_value(char c)
580 { return g_ascii_xdigit_value(c); }
581
582 } // namespace Ascii
583
584
585 /** @} group Unicode */
586
587 } // namespace Glib
588
589
590 #endif /* _GLIBMM_UNICODE_H */
591
592