Ada 编程/库/标准/RM
外观
package
Standardis
pragma
Pure (Standard);type
Booleanis
(False, True); -- The predefined relational operators for this type are as follows: -- function "=" (Left, Right : Boolean'Base) return Boolean; -- function "/=" (Left, Right : Boolean'Base) return Boolean; -- function "<" (Left, Right : Boolean'Base) return Boolean; -- function "<=" (Left, Right : Boolean'Base) return Boolean; -- function ">" (Left, Right : Boolean'Base) return Boolean; -- function ">=" (Left, Right : Boolean'Base) return Boolean; -- The predefined logical operators and the predefined logical -- negation operator are as follows: -- function "and" (Left, Right : Boolean'Base) return Boolean; -- function "or" (Left, Right : Boolean'Base) return Boolean; -- function "xor" (Left, Right : Boolean'Base) return Boolean; -- function "not" (Right : Boolean'Base) return Boolean; -- The integer type root_integer and the -- corresponding universal type universal_integer are predefined.type
Integeris
range
implementation-defined;subtype
Naturalis
Integerrange
0 .. Integer'Last;subtype
Positiveis
Integerrange
1 .. Integer'Last; -- The predefined operators for type Integer are as follows: -- function "=" (Left, Right : Integer'Base) return Boolean; -- function "/=" (Left, Right : Integer'Base) return Boolean; -- function "<" (Left, Right : Integer'Base) return Boolean; -- function "<=" (Left, Right : Integer'Base) return Boolean; -- function ">" (Left, Right : Integer'Base) return Boolean; -- function ">=" (Left, Right : Integer'Base) return Boolean; -- function "+" (Right : Integer'Base) return Integer'Base; -- function "-" (Right : Integer'Base) return Integer'Base; -- function "abs" (Right : Integer'Base) return Integer'Base; -- function "+" (Left, Right : Integer'Base) return Integer'Base; -- function "-" (Left, Right : Integer'Base) return Integer'Base; -- function "*" (Left, Right : Integer'Base) return Integer'Base; -- function "/" (Left, Right : Integer'Base) return Integer'Base; -- function "rem" (Left, Right : Integer'Base) return Integer'Base; -- function "mod" (Left, Right : Integer'Base) return Integer'Base; -- function "**" (Left : Integer'Base; Right : Natural) -- return Integer'Base; -- The specification of each operator for the type -- root_integer, or for any additional predefined integer -- type, is obtained by replacing Integer by the name of the type -- in the specification of the corresponding operator of the type -- Integer. The right operand of the exponentiation operator -- remains as subtype Natural. -- The floating point type root_real and the -- corresponding universal type universal_real are predefinedtype
Floatis
digits
implementation-defined; -- The predefined operators for this type are as follows: -- function "=" (Left, Right : Float) return Boolean; -- function "/=" (Left, Right : Float) return Boolean; -- function "<" (Left, Right : Float) return Boolean; -- function "<=" (Left, Right : Float) return Boolean; -- function ">" (Left, Right : Float) return Boolean; -- function ">=" (Left, Right : Float) return Boolean; -- function "+" (Right : Float) return Float; -- function "-" (Right : Float) return Float; -- function "abs" (Right : Float) return Float; -- function "+" (Left, Right : Float) return Float; -- function "-" (Left, Right : Float) return Float; -- function "*" (Left, Right : Float) return Float; -- function "/" (Left, Right : Float) return Float; -- function "**" (Left : Float; Right : Integer'Base) return Float; -- The specification of each operator for the type root_real, or for -- any additional predefined floating point type, is obtained by -- replacing Float by the name of the type in the specification of the -- corresponding operator of the type Float. -- In addition, the following operators are predefined for the root -- numeric types:function
"*" (Left : root_integer; Right : root_real)return
root_real;function
"*" (Left : root_real; Right : root_integer)return
root_real;function
"/" (Left : root_real; Right : root_integer)return
root_real; -- The type universal_fixed is predefined. -- The only multiplying operators defined between -- fixed point types arefunction
"*" (Left : universal_fixed; Right : universal_fixed)return
universal_fixed;function
"/" (Left : universal_fixed; Right : universal_fixed)return
universal_fixed; -- The type universal_access is predefined. -- The following equality operators are predefined:function
"=" (Left, Right: universal_access)return
Boolean;function
"/=" (Left, Right: universal_access)return
Boolean; -- The declaration of type Character is based on the standard ISO 8859-1 character set. -- There are no character literals corresponding to the positions for control characters. -- They are indicated in italics in this definition. See 3.5.2.type
Characteris
(nul, soh, stx, etx, eot, enq, ack, bel, -- 0 (16#00#) .. 7 (16#07#) bs, ht, lf, vt, ff, cr, so, si, -- 8 (16#08#) .. 15 (16#0F#) dle, dc1, dc2, dc3, dc4, nak, syn, etb, -- 16 (16#10#) .. 23 (16#17#) can, em, sub, esc, fs, gs, rs, us, -- 24 (16#18#) .. 31 (16#1F#) ' ', '!', '"', '#', '$', '%', '&', ''', -- 32 (16#20#) .. 39 (16#27#) '(', ')', '*', '+', ',', '-', '.', '/', -- 40 (16#28#) .. 47 (16#2F#) '0', '1', '2', '3', '4', '5', '6', '7', -- 48 (16#30#) .. 55 (16#37#) '8', '9', ':', ';', '<', '=', '>', '?', -- 56 (16#38#) .. 63 (16#3F#) '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', -- 64 (16#40#) .. 71 (16#47#) 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', -- 72 (16#48#) .. 79 (16#4F#) 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', -- 80 (16#50#) .. 87 (16#57#) 'X', 'Y', 'Z', '[', '\', ']', '^', '_', -- 88 (16#58#) .. 95 (16#5F#) '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', -- 96 (16#60#) .. 103 (16#67#) 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', -- 104 (16#68#) .. 111 (16#6F#) 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', -- 112 (16#70#) .. 119 (16#77#) 'x', 'y', 'z', '{', '|', '}', '~', del, -- 120 (16#78#) .. 127 (16#7F#) reserved_128, reserved_129, bph, nbh, -- 128 (16#80#) .. 131 (16#83#) reserved_132, nel, ssa, esa, -- 132 (16#84#) .. 135 (16#87#) hts, htj, vts, pld, plu, ri, ss2, ss3, -- 136 (16#88#) .. 143 (16#8F#) dcs, pu1, pu2, sts, cch, mw, spa, epa, -- 144 (16#90#) .. 151 (16#97#) sos, reserved_153, sci, csi, -- 152 (16#98#) .. 155 (16#9B#) st, osc, pm, apc, -- 156 (16#9C#) .. 159 (16#9F#) ' ', '¡', '¢', '£', '¤', '¥', '¦', '§', -- 160 (16#A0#) .. 167 (16#A7#) '¨', '©', 'ª', '«', -- 168 (16#A8#) .. 171 (16#AB#) '¬', soft_hyphen, '®', '¯', -- 172 (16#AC#) .. 175 (16#AF#) '°', '±', '²', '³', '´', 'µ', '¶', '·', -- 176 (16#B0#) .. 183 (16#B7#) '¸', '¹', 'º', '»', '¼', '½', '¾', '¿', -- 184 (16#B8#) .. 191 (16#BF#) 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', -- 192 (16#C0#) .. 199 (16#C7#) 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', -- 200 (16#C8#) .. 207 (16#CF#) 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', -- 208 (16#D0#) .. 215 (16#D7#) 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', -- 216 (16#D8#) .. 223 (16#DF#) 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', -- 224 (16#E0#) .. 231 (16#E7#) 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', -- 232 (16#E8#) .. 239 (16#EF#) 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', -- 240 (16#F0#) .. 247 (16#F7#) 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ', -- 248 (16#F8#) .. 255 (16#FF#) -- The predefined operators for the type Character are the same as for -- any enumeration type. -- The declaration of type Wide_Character is based on the standard ISO/IEC 10646:2011 BMP character -- set. The first 256 positions have the same contents as type Character. See 3.5.2.type
Wide_Characteris
(nul, soh ... Hex_0000FFFE, Hex_0000FFFF); -- The declaration of type Wide_Wide_Character is based on the full -- ISO/IEC 10646:2011 character set. The first 65536 positions have the -- same contents as type Wide_Character. See 3.5.2.type
Wide_Wide_Characteris
(nul, soh ... Hex_7FFFFFFE, Hex_7FFFFFFF);for
Wide_Wide_Character'Sizeuse
32;package
ASCIIis
...end
ASCII; -- Obsolescent; see J.5 -- Predefined string types:type
Stringis
array
(Positiverange
<>)of
Characterwith
Pack; -- The predefined operators for this type are as follows: -- function "=" (Left, Right: String) return Boolean; -- function "/=" (Left, Right: String) return Boolean; -- function "<" (Left, Right: String) return Boolean; -- function "<=" (Left, Right: String) return Boolean; -- function ">" (Left, Right: String) return Boolean; -- function ">=" (Left, Right: String) return Boolean; -- function "&" (Left: String; Right: String) return String; -- function "&" (Left: Character; Right: String) return String; -- function "&" (Left: String; Right: Character) return String; -- function "&" (Left: Character; Right: Character) return String;type
Wide_Stringis
array
(Positiverange
<>)of
Wide_Characterwith
Pack; -- The predefined operators for this type correspond to those for String.type
Wide_Wide_Stringis
array
(Positiverange
<>)of
Wide_Characterwith
Pack; -- The predefined operators for this type correspond to those for String.type
Durationis
delta
implementation-definedrange
implementation-defined; -- The predefined operators for the type Duration are the same as for -- any fixed point type. -- The predefined exceptions: Constraint_Error:exception
; Program_Error :exception
; Storage_Error :exception
; Tasking_Error :exception
;end
Standard;