2021-10-27 15:34:30 +00:00
|
|
|
generic
|
2021-10-16 02:04:46 +00:00
|
|
|
type Item_Type is (<>); -- any discrete type
|
|
|
|
package H3.CC is
|
|
|
|
-- <ctype.h>-like character classification package
|
|
|
|
-- unicode-based. no system locale honored.
|
|
|
|
|
2021-10-27 15:34:30 +00:00
|
|
|
subtype Item_Code is H3.Natural;
|
|
|
|
|
|
|
|
Colon: constant Item_Code := System_Character'Pos(':');
|
2021-10-27 16:16:36 +00:00
|
|
|
Semicolon: constant Item_Code := System_Character'Pos(';');
|
2021-10-27 15:34:30 +00:00
|
|
|
Tilde: constant Item_Code := System_Character'Pos('~');
|
|
|
|
Underline: constant Item_Code := System_Character'Pos('_');
|
|
|
|
Equal: constant Item_Code := System_Character'Pos('=');
|
|
|
|
L_Arrow: constant Item_Code := System_Character'Pos('<');
|
|
|
|
R_Arrow: constant Item_Code := System_Character'Pos('>');
|
|
|
|
|
2021-10-27 16:16:36 +00:00
|
|
|
type Item_Class is (ALPHA, ALNUM, BLANK, CNTRL, DIGIT, GRAPH, LOWER, PRINT, PUNCT, SPACE, UPPER, XDIGIT);
|
|
|
|
function Is_Class (V: in Item_Type; Class: in Item_Class) return Boolean;
|
2021-10-16 02:04:46 +00:00
|
|
|
|
2021-10-27 15:34:30 +00:00
|
|
|
function Is_Alpha (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Alnum (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Blank (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Cntrl (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Digit (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Graph (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Print (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Punct (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Space (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Xdigit (V: in Item_Type) return Boolean;
|
2021-10-16 02:04:46 +00:00
|
|
|
|
2021-10-27 15:34:30 +00:00
|
|
|
function Is_Lower (V: in Item_Type) return Boolean;
|
|
|
|
function Is_Upper (V: in Item_Type) return Boolean;
|
2021-10-16 02:04:46 +00:00
|
|
|
|
|
|
|
function To_Lower (V: in Item_Type) return Item_Type;
|
|
|
|
function To_Upper (V: in Item_Type) return Item_Type;
|
2021-10-27 15:34:30 +00:00
|
|
|
|
|
|
|
function Is_Code (V: in Item_Type; Code: in Item_Code) return Boolean;
|
2021-10-16 02:04:46 +00:00
|
|
|
end H3.CC;
|