1------------------------------------------------------------------------------ 2-- -- 3-- GNAT RUN-TIME COMPONENTS -- 4-- -- 5-- A D A . 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------------------------------------------------------------------------------ 15 16package Ada.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. 22 23 function Is_Control (Item : Wide_Character) return Boolean; 24 pragma Inline (Is_Control); 25 -- Returns True if the Wide_Character designated by Item is categorized as 26 -- other_control, otherwise returns false. 27 28 function Is_Letter (Item : Wide_Character) return Boolean; 29 pragma Inline (Is_Letter); 30 -- Returns True if the Wide_Character designated by Item is categorized as 31 -- letter_uppercase, letter_lowercase, letter_titlecase, letter_modifier, 32 -- letter_other, or number_letter. Otherwise returns false. 33 34 function Is_Lower (Item : Wide_Character) return Boolean; 35 pragma Inline (Is_Lower); 36 -- Returns True if the Wide_Character designated by Item is categorized as 37 -- letter_lowercase, otherwise returns false. 38 39 function Is_Upper (Item : Wide_Character) return Boolean; 40 pragma Inline (Is_Upper); 41 -- Returns True if the Wide_Character designated by Item is categorized as 42 -- letter_uppercase, otherwise returns false. 43 44 function Is_Digit (Item : Wide_Character) return Boolean; 45 pragma Inline (Is_Digit); 46 -- Returns True if the Wide_Character designated by Item is categorized as 47 -- number_decimal, otherwise returns false. 48 49 function Is_Decimal_Digit (Item : Wide_Character) return Boolean 50 renames Is_Digit; 51 52 function Is_Hexadecimal_Digit (Item : Wide_Character) return Boolean; 53 -- Returns True if the Wide_Character designated by Item is categorized as 54 -- number_decimal, or is in the range 'A' .. 'F' or 'a' .. 'f', otherwise 55 -- returns false. 56 57 function Is_Alphanumeric (Item : Wide_Character) return Boolean; 58 pragma Inline (Is_Alphanumeric); 59 -- Returns True if the Wide_Character designated by Item is categorized as 60 -- number_decimal, or is in the range 'A' .. 'F' or 'a' .. 'f', otherwise 61 -- returns false. 62 63 function Is_Special (Item : Wide_Character) return Boolean; 64 pragma Inline (Is_Special); 65 -- Returns True if the Wide_Character designated by Item is categorized 66 -- as graphic_character, but not categorized as letter_uppercase, 67 -- letter_lowercase, letter_titlecase, letter_modifier, letter_other, 68 -- number_letter, or number_decimal. Otherwise returns false. 69 70 function Is_Line_Terminator (Item : Wide_Character) return Boolean; 71 pragma Inline (Is_Line_Terminator); 72 -- Returns True if the Wide_Character designated by Item is categorized as 73 -- separator_line or separator_paragraph, or if Item is a conventional line 74 -- terminator character (CR, LF, VT, or FF). Otherwise returns false. 75 76 function Is_Mark (Item : Wide_Character) return Boolean; 77 pragma Inline (Is_Mark); 78 -- Returns True if the Wide_Character designated by Item is categorized as 79 -- mark_non_spacing or mark_spacing_combining, otherwise returns false. 80 81 function Is_Other (Item : Wide_Character) return Boolean; 82 pragma Inline (Is_Other); 83 -- Returns True if the Wide_Character designated by Item is categorized as 84 -- other_format, otherwise returns false. 85 86 function Is_Punctuation (Item : Wide_Character) return Boolean; 87 pragma Inline (Is_Punctuation); 88 -- Returns True if the Wide_Character designated by Item is categorized as 89 -- punctuation_connector, otherwise returns false. 90 91 function Is_Space (Item : Wide_Character) return Boolean; 92 pragma Inline (Is_Space); 93 -- Returns True if the Wide_Character designated by Item is categorized as 94 -- separator_space, otherwise returns false. 95 96 function Is_Graphic (Item : Wide_Character) return Boolean; 97 pragma Inline (Is_Graphic); 98 -- Returns True if the Wide_Character designated by Item is categorized as 99 -- graphic_character, otherwise returns false. 100 101 function To_Lower (Item : Wide_Character) return Wide_Character; 102 pragma Inline (To_Lower); 103 -- Returns the Simple Lowercase Mapping of the Wide_Character designated by 104 -- Item. If the Simple Lowercase Mapping does not exist for the 105 -- Wide_Character designated by Item, then the value of Item is returned. 106 107 function To_Lower (Item : Wide_String) return Wide_String; 108 -- Returns the result of applying the To_Lower Wide_Character to 109 -- Wide_Character conversion to each element of the Wide_String designated 110 -- by Item. The result is the null Wide_String if the value of the formal 111 -- parameter is the null Wide_String. 112 113 function To_Upper (Item : Wide_Character) return Wide_Character; 114 pragma Inline (To_Upper); 115 -- Returns the Simple Uppercase Mapping of the Wide_Character designated by 116 -- Item. If the Simple Uppercase Mapping does not exist for the 117 -- Wide_Character designated by Item, then the value of Item is returned. 118 119 function To_Upper (Item : Wide_String) return Wide_String; 120 -- Returns the result of applying the To_Upper Wide_Character to 121 -- Wide_Character conversion to each element of the Wide_String designated 122 -- by Item. The result is the null Wide_String if the value of the formal 123 -- parameter is the null Wide_String. 124 125end Ada.Wide_Characters.Handling; 126