2014-12-12 Marc Glisse <marc.glisse@inria.fr>
[official-gcc.git] / gcc / ada / a-zchhan.ads
blob354452b49f5546406dfa9291cf219774e94a6302
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT RUN-TIME COMPONENTS --
4 -- --
5 -- A D A . W I D E _ W I D E _ C H A R A C T E R S . H A N D L I N G --
6 -- --
7 -- S p e c --
8 -- --
9 -- This specification is derived from the Ada Reference Manual for use with --
10 -- GNAT. In accordance with the copyright of that document, you can freely --
11 -- copy and modify this specification, provided that if you redistribute a --
12 -- modified version, any changes that you have made are clearly indicated. --
13 -- --
14 ------------------------------------------------------------------------------
16 package Ada.Wide_Wide_Characters.Handling is
17 pragma Pure;
18 -- This package is clearly intended to be Pure, by analogy with the
19 -- base Ada.Characters.Handling package. The version in the RM does
20 -- not yet have this pragma, but that is a clear omission. This will
21 -- be fixed in a future version of AI05-0266-1.
23 function Is_Control (Item : Wide_Wide_Character) return Boolean;
24 pragma Inline (Is_Control);
25 -- Returns True if the Wide_Wide_Character designated by Item is
26 -- categorized as other_control, otherwise returns false.
28 function Is_Letter (Item : Wide_Wide_Character) return Boolean;
29 pragma Inline (Is_Letter);
30 -- Returns True if the Wide_Wide_Character designated by Item is
31 -- categorized as letter_uppercase, letter_lowercase, letter_titlecase,
32 -- letter_modifier, letter_other, or number_letter. Otherwise returns
33 -- false.
35 function Is_Lower (Item : Wide_Wide_Character) return Boolean;
36 pragma Inline (Is_Lower);
37 -- Returns True if the Wide_Wide_Character designated by Item is
38 -- categorized as letter_lowercase, otherwise returns false.
40 function Is_Upper (Item : Wide_Wide_Character) return Boolean;
41 pragma Inline (Is_Upper);
42 -- Returns True if the Wide_Wide_Character designated by Item is
43 -- categorized as letter_uppercase, otherwise returns false.
45 function Is_Digit (Item : Wide_Wide_Character) return Boolean;
46 pragma Inline (Is_Digit);
47 -- Returns True if the Wide_Wide_Character designated by Item is
48 -- categorized as number_decimal, otherwise returns false.
50 function Is_Decimal_Digit (Item : Wide_Wide_Character) return Boolean
51 renames Is_Digit;
53 function Is_Hexadecimal_Digit (Item : Wide_Wide_Character) return Boolean;
54 -- Returns True if the Wide_Wide_Character designated by Item is
55 -- categorized as number_decimal, or is in the range 'A' .. 'F' or
56 -- 'a' .. 'f', otherwise returns false.
58 function Is_Alphanumeric (Item : Wide_Wide_Character) return Boolean;
59 pragma Inline (Is_Alphanumeric);
60 -- Returns True if the Wide_Wide_Character designated by Item is
61 -- categorized as letter_uppercase, letter_lowercase, letter_titlecase,
62 -- letter_modifier, letter_other, number_letter, or number_decimal.
63 -- Otherwise returns false.
65 function Is_Special (Item : Wide_Wide_Character) return Boolean;
66 pragma Inline (Is_Special);
67 -- Returns True if the Wide_Wide_Character designated by Item
68 -- is categorized as graphic_character, but not categorized as
69 -- letter_uppercase, letter_lowercase, letter_titlecase, letter_modifier,
70 -- letter_other, number_letter, or number_decimal. Otherwise returns false.
72 function Is_Line_Terminator (Item : Wide_Wide_Character) return Boolean;
73 pragma Inline (Is_Line_Terminator);
74 -- Returns True if the Wide_Wide_Character designated by Item is
75 -- categorized as separator_line or separator_paragraph, or if Item is a
76 -- conventional line terminator character (CR, LF, VT, or FF). Otherwise
77 -- returns false.
79 function Is_Mark (Item : Wide_Wide_Character) return Boolean;
80 pragma Inline (Is_Mark);
81 -- Returns True if the Wide_Wide_Character designated by Item is
82 -- categorized as mark_non_spacing or mark_spacing_combining, otherwise
83 -- returns false.
85 function Is_Other_Format (Item : Wide_Wide_Character) return Boolean;
86 pragma Inline (Is_Other_Format);
87 -- Returns True if the Wide_Wide_Character designated by Item is
88 -- categorized as other_format, otherwise returns false.
90 function Is_Punctuation_Connector
91 (Item : Wide_Wide_Character) return Boolean;
92 pragma Inline (Is_Punctuation_Connector);
93 -- Returns True if the Wide_Wide_Character designated by Item is
94 -- categorized as punctuation_connector, otherwise returns false.
96 function Is_Space (Item : Wide_Wide_Character) return Boolean;
97 pragma Inline (Is_Space);
98 -- Returns True if the Wide_Wide_Character designated by Item is
99 -- categorized as separator_space, otherwise returns false.
101 function Is_Graphic (Item : Wide_Wide_Character) return Boolean;
102 pragma Inline (Is_Graphic);
103 -- Returns True if the Wide_Wide_Character designated by Item is
104 -- categorized as graphic_character, otherwise returns false.
106 function To_Lower (Item : Wide_Wide_Character) return Wide_Wide_Character;
107 pragma Inline (To_Lower);
108 -- Returns the Simple Lowercase Mapping of the Wide_Wide_Character
109 -- designated by Item. If the Simple Lowercase Mapping does not exist for
110 -- the Wide_Wide_Character designated by Item, then the value of Item is
111 -- returned.
113 function To_Lower (Item : Wide_Wide_String) return Wide_Wide_String;
114 -- Returns the result of applying the To_Lower Wide_Wide_Character to
115 -- Wide_Wide_Character conversion to each element of the Wide_Wide_String
116 -- designated by Item. The result is the null Wide_Wide_String if the value
117 -- of the formal parameter is the null Wide_Wide_String.
119 function To_Upper (Item : Wide_Wide_Character) return Wide_Wide_Character;
120 pragma Inline (To_Upper);
121 -- Returns the Simple Uppercase Mapping of the Wide_Wide_Character
122 -- designated by Item. If the Simple Uppercase Mapping does not exist for
123 -- the Wide_Wide_Character designated by Item, then the value of Item is
124 -- returned.
126 function To_Upper (Item : Wide_Wide_String) return Wide_Wide_String;
127 -- Returns the result of applying the To_Upper Wide_Wide_Character to
128 -- Wide_Wide_Character conversion to each element of the Wide_Wide_String
129 -- designated by Item. The result is the null Wide_Wide_String if the value
130 -- of the formal parameter is the null Wide_Wide_String.
132 end Ada.Wide_Wide_Characters.Handling;