Ada Conformity Assessment Authority      Home Conformity Assessment   Test Suite ARGAda Standard
 
Ada Reference Manual (Ada 2022 with Amendment 1)Legal Information
Contents   Index   References   Search   Previous   Next 

3.6.3 String Types

Static Semantics

1
A one-dimensional array type whose component type is a character type is called a string type.
2/2
There are three predefined string types, String, Wide_String, and Wide_Wide_String, each indexed by values of the predefined subtype Positive; these are declared in the visible part of package Standard: 
3
subtype Positive is Integer range 1 .. Integer'Last;
4/2
type String is array(Positive range <>) of Character;
type Wide_String is array(Positive range <>) of Wide_Character;
type Wide_Wide_String is array(Positive range <>) of Wide_Wide_Character;
5
NOTE   String literals (see 2.6 and 4.2) are defined for all string types. The concatenation operator & is predefined for string types, as for all nonlimited one-dimensional array types. The ordering operators <, <=, >, and >= are predefined for string types, as for all one-dimensional discrete array types; these ordering operators correspond to lexicographic order (see 4.5.2).

Examples

6
Examples of string objects: 
7
Stars      : String(1 .. 120) := (1 .. 120 => '*' );
Question   : constant String  := "How many characters?";
                      -- Question'First = 1, Question'Last = 20
                      -- Question'Length = 20 (the number of characters)
8
Ask_Twice  : String  := Question & Question; -- constrained to (1..40)
Ninety_Six : constant Roman   := "XCVI";     -- see 3.5.2 and 3.6

Contents   Index   References   Search   Previous   Next 
Ada-Europe Ada 2005 and 2012 Editions sponsored in part by Ada-Europe