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------------------------------------------------------------------------------ 15 16package 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. 22 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. 27 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. 34 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. 39 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. 44 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. 49 50 function Is_Decimal_Digit (Item : Wide_Wide_Character) return Boolean 51 renames Is_Digit; 52 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. 57 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. 64 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. 71 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. 78 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. 84 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. 89 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. 95 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. 100 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. 105 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. 112 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. 118 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. 125 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. 131 132end Ada.Wide_Wide_Characters.Handling; 133