1 ------------------------------------------------------------------------------
3 -- GNAT RUN-TIME COMPONENTS --
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 --
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. --
14 ------------------------------------------------------------------------------
16 package Ada
.Wide_Wide_Characters
.Handling
is
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
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
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
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
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
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
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
;