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