Skip to content

Commit a000867

Browse files
mgrojoreznikmm
authored andcommitted
Update to Ada 2012
Sources have been the Ada 2012 ARM and "Rationale for Ada 2012" by John Barnes for getting the additions and updates.
1 parent 0e294bf commit a000867

File tree

69 files changed

+4820
-1147
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+4820
-1147
lines changed

LICENSES/AdaReferenceManual.txt

Lines changed: 67 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,83 +5,114 @@ Copyright © 1992, 1993, 1994, 1995 Intermetrics, Inc.
55

66
Copyright © 2000 The MITRE Corporation, Inc.
77

8+
Copyright © 2004, 2005, 2006 AXE Consultants
9+
810
Copyright © 2004, 2005, 2006 Ada-Europe
911

10-
Copyright © 2004-2016 AXE Consultants
12+
Copyright © 2008, 2009, 2010, 2011, 2012 AXE Consultants
1113

1214

1315
---------------------------------------------------------------------
1416

17+
Ada Reference Manual - Language and Standard Libraries
18+
1519
Copyright © 1992, 1993, 1994, 1995, Intermetrics, Inc.
1620

1721
This copyright is assigned to the U.S. Government. All rights reserved.
1822

1923
This document may be copied, in whole or in part, in any form or by any means,
2024
as is or with alterations, provided that (1) alterations are clearly marked as
21-
alterations and (2) this copyright notice is included unmodified in any copy.
22-
Compiled copies of standard library units and examples need not contain this
23-
copyright notice so long as the notice is included in all copies of source
25+
alterations and (2) this copyright notice is included unmodified in any
26+
copy. Compiled copies of standard library units and examples need not contain
27+
this copyright notice so long as the notice is included in all copies of source
2428
code and documentation.
2529

2630

2731
---------------------------------------------------------------------
2832

33+
Technical Corrigendum 1
34+
2935
Copyright © 2000, The MITRE Corporation. All Rights Reserved.
3036

3137
This document may be copied, in whole or in part, in any form or by any means,
32-
as is, or with alterations, provided that (1) alterations are clearly marked
33-
as alterations and (2) this copyright notice is included unmodified in any
38+
as is, or with alterations, provided that (1) alterations are clearly marked as
39+
alterations and (2) this copyright notice is included unmodified in any
3440
copy. Any other use or distribution of this document is prohibited without the
3541
prior express permission of MITRE.
3642

3743
You use this document on the condition that you indemnify and hold harmless
38-
MITRE, its Board of Trustees, officers, agents, and employees, from any and
39-
all liability or damages to yourself or your hardware or software, or third
40-
parties, including attorneys' fees, court costs, and other related costs and
41-
expenses, arising out of your use of this document irrespective of the cause
42-
of said liability.
44+
MITRE, its Board of Trustees, officers, agents, and employees, from any and all
45+
liability or damages to yourself or your hardware or software, or third parties,
46+
including attorneys' fees, court costs, and other related costs and expenses,
47+
arising out of your use of this document irrespective of the cause of said
48+
liability.
4349

4450
MITRE MAKES THIS DOCUMENT AVAILABLE ON AN "AS IS" BASIS AND MAKES NO WARRANTY,
45-
EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY, EFFICIENCY
46-
MERCHANTABILITY, OR FUNCTIONING OF THIS DOCUMENT. IN NO EVENT WILL MITRE BE
47-
LIABLE FOR ANY GENERAL, CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR
48-
SPECIAL DAMAGES, EVEN IF MITRE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
49-
DAMAGES.
51+
EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY, EFFICIENCY MERCHANTABILITY,
52+
OR FUNCTIONING OF THIS DOCUMENT. IN NO EVENT WILL MITRE BE LIABLE FOR ANY
53+
GENERAL, CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES,
54+
EVEN IF MITRE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
55+
5056

51-
5257
---------------------------------------------------------------------
5358

54-
Copyright © 2004-2016, AXE Consultants. All Rights Reserved.
59+
Amendment 1
60+
61+
Copyright © 2004, 2005, 2006, 2007, AXE Consultants. All Rights Reserved.
5562

5663
This document may be copied, in whole or in part, in any form or by any means,
57-
as is, or with alterations, provided that (1) alterations are clearly marked
58-
as alterations and (2) this copyright notice is included unmodified in any
64+
as is, or with alterations, provided that (1) alterations are clearly marked as
65+
alterations and (2) this copyright notice is included unmodified in any
5966
copy. Any other use or distribution of this document is prohibited without the
6067
prior express permission of AXE.
6168

62-
You use this document on the condition that you indemnify and hold harmless
63-
AXE, its board, officers, agents, and employees, from any and all liability or
69+
You use this document on the condition that you indemnify and hold harmless AXE,
70+
its board, officers, agents, and employees, from any and all liability or
6471
damages to yourself or your hardware or software, or third parties, including
65-
attorneys' fees, court costs, and other related costs and expenses, arising
66-
out of your use of this document irrespective of the cause of said liability.
72+
attorneys' fees, court costs, and other related costs and expenses, arising out
73+
of your use of this document irrespective of the cause of said liability.
6774

6875
AXE MAKES THIS DOCUMENT AVAILABLE ON AN "AS IS" BASIS AND MAKES NO WARRANTY,
69-
EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY, EFFICIENCY
70-
MERCHANTABILITY, OR FUNCTIONING OF THIS DOCUMENT. IN NO EVENT WILL AXE BE
71-
LIABLE FOR ANY GENERAL, CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR
72-
SPECIAL DAMAGES, EVEN IF AXE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
73-
DAMAGES.
76+
EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY, EFFICIENCY MERCHANTABILITY,
77+
OR FUNCTIONING OF THIS DOCUMENT. IN NO EVENT WILL AXE BE LIABLE FOR ANY GENERAL,
78+
CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES, EVEN IF AXE
79+
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
80+
81+
82+
---------------------------------------------------------------------
83+
84+
Third Edition
85+
86+
Copyright © 2008, 2009, 2010, 2011, 2012 AXE Consultants. All Rights Reserved.
87+
88+
This document may be copied, in whole or in part, in any form or by any means,
89+
as is, or with alterations, provided that (1) alterations are clearly marked as
90+
alterations and (2) this copyright notice is included unmodified in any
91+
copy. Any other use or distribution of this document is prohibited without the
92+
prior express permission of AXE.
93+
94+
You use this document on the condition that you indemnify and hold harmless AXE,
95+
its board, officers, agents, and employees, from any and all liability or
96+
damages to yourself or your hardware or software, or third parties, including
97+
attorneys' fees, court costs, and other related costs and expenses, arising out
98+
of your use of this document irrespective of the cause of said liability.
99+
100+
AXE MAKES THIS DOCUMENT AVAILABLE ON AN "AS IS" BASIS AND MAKES NO WARRANTY,
101+
EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY, EFFICIENCY MERCHANTABILITY,
102+
OR FUNCTIONING OF THIS DOCUMENT. IN NO EVENT WILL AXE BE LIABLE FOR ANY GENERAL,
103+
CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES, EVEN IF AXE
104+
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
105+
74106

75-
76107
---------------------------------------------------------------------
77108

78109
Ada 2005 Consolidated Standard
79110

80111
Copyright © 2004, 2005, 2006, Ada-Europe.
81112

82113
This document may be copied, in whole or in part, in any form or by any means,
83-
as is, or with alterations, provided that (1) alterations are clearly marked
84-
as alterations and (2) this copyright notice is included unmodified in any
114+
as is, or with alterations, provided that (1) alterations are clearly marked as
115+
alterations and (2) this copyright notice is included unmodified in any
85116
copy. Any other use or distribution of this document is prohibited without the
86117
prior express permission of Ada-Europe.
87118

@@ -93,8 +124,7 @@ document irrespective of the cause of said liability.
93124

94125
ADA-EUROPE MAKES THIS DOCUMENT AVAILABLE ON AN "AS IS" BASIS AND MAKES NO
95126
WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY, CAPABILITY, EFFICIENCY
96-
MERCHANTABILITY, OR FUNCTIONING OF THIS DOCUMENT. IN NO EVENT WILL ADA-EUROPE
97-
BE LIABLE FOR ANY GENERAL, CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR
98-
SPECIAL DAMAGES, EVEN IF ADA-EUROPE HAS BEEN ADVISED OF THE POSSIBILITY OF
99-
SUCH DAMAGES.
100-
127+
MERCHANTABILITY, OR FUNCTIONING OF THIS DOCUMENT. IN NO EVENT WILL ADA-EUROPE BE
128+
LIABLE FOR ANY GENERAL, CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR
129+
SPECIAL DAMAGES, EVEN IF ADA-EUROPE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
130+
DAMAGES.

ada-characters-handling.ads

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ package Ada.Characters.Handling is
2626
function Is_Hexadecimal_Digit (Item : in Character) return Boolean;
2727
function Is_Alphanumeric (Item : in Character) return Boolean;
2828
function Is_Special (Item : in Character) return Boolean;
29+
function Is_Line_Terminator (Item : in Character) return Boolean;
30+
function Is_Mark (Item : in Character) return Boolean;
31+
function Is_Other_Format (Item : in Character) return Boolean;
32+
function Is_Punctuation_Connector (Item : in Character) return Boolean;
33+
function Is_Space (Item : in Character) return Boolean;
2934

3035
-- Conversion functions for Character and String
3136

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
-- Standard Ada library specification
2+
-- Copyright (c) 2004-2016 AXE Consultants
3+
-- Copyright (c) 2004, 2005, 2006 Ada-Europe
4+
-- Copyright (c) 2000 The MITRE Corporation, Inc.
5+
-- Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc.
6+
-- SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual
7+
---------------------------------------------------------------------------
8+
9+
10+
with Ada.Iterator_Interfaces;
11+
generic
12+
type Element_Type is private;
13+
with function "=" (Left, Right : Element_Type)
14+
return Boolean is <>;
15+
package Ada.Containers.Bounded_Doubly_Linked_Lists is
16+
pragma Pure(Bounded_Doubly_Linked_Lists);
17+
pragma Remote_Types(Bounded_Doubly_Linked_Lists);
18+
19+
type List (Capacity : Count_Type) is tagged private
20+
with Constant_Indexing => Constant_Reference,
21+
Variable_Indexing => Reference,
22+
Default_Iterator => Iterate,
23+
Iterator_Element => Element_Type;
24+
pragma Preelaborable_Initialization(List);
25+
26+
type Cursor is private;
27+
pragma Preelaborable_Initialization(Cursor);
28+
29+
Empty_List : constant List;
30+
31+
No_Element : constant Cursor;
32+
33+
function Has_Element (Position : Cursor) return Boolean;
34+
35+
package List_Iterator_Interfaces is new
36+
Ada.Iterator_Interfaces (Cursor, Has_Element);
37+
38+
function "=" (Left, Right : List) return Boolean;
39+
40+
function Length (Container : List) return Count_Type;
41+
42+
function Is_Empty (Container : List) return Boolean;
43+
44+
procedure Clear (Container : in out List);
45+
46+
function Element (Position : Cursor)
47+
return Element_Type;
48+
49+
procedure Replace_Element (Container : in out List;
50+
Position : in Cursor;
51+
New_Item : in Element_Type);
52+
53+
procedure Query_Element
54+
(Position : in Cursor;
55+
Process : not null access procedure (Element : in Element_Type));
56+
57+
procedure Update_Element
58+
(Container : in out List;
59+
Position : in Cursor;
60+
Process : not null access procedure
61+
(Element : in out Element_Type));
62+
63+
type Constant_Reference_Type
64+
(Element : not null access constant Element_Type) is private
65+
with Implicit_Dereference => Element;
66+
67+
type Reference_Type (Element : not null access Element_Type) is private
68+
with Implicit_Dereference => Element;
69+
70+
function Constant_Reference (Container : aliased in List;
71+
Position : in Cursor)
72+
return Constant_Reference_Type;
73+
74+
function Reference (Container : aliased in out List;
75+
Position : in Cursor)
76+
return Reference_Type;
77+
78+
procedure Assign (Target : in out List; Source : in List);
79+
80+
function Copy (Source : List; Capacity : Count_Type := 0)
81+
return List;
82+
83+
procedure Move (Target : in out List;
84+
Source : in out List);
85+
86+
procedure Insert (Container : in out List;
87+
Before : in Cursor;
88+
New_Item : in Element_Type;
89+
Count : in Count_Type := 1);
90+
91+
procedure Insert (Container : in out List;
92+
Before : in Cursor;
93+
New_Item : in Element_Type;
94+
Position : out Cursor;
95+
Count : in Count_Type := 1);
96+
97+
procedure Insert (Container : in out List;
98+
Before : in Cursor;
99+
Position : out Cursor;
100+
Count : in Count_Type := 1);
101+
102+
procedure Prepend (Container : in out List;
103+
New_Item : in Element_Type;
104+
Count : in Count_Type := 1);
105+
106+
procedure Append (Container : in out List;
107+
New_Item : in Element_Type;
108+
Count : in Count_Type := 1);
109+
110+
procedure Delete (Container : in out List;
111+
Position : in out Cursor;
112+
Count : in Count_Type := 1);
113+
114+
procedure Delete_First (Container : in out List;
115+
Count : in Count_Type := 1);
116+
117+
procedure Delete_Last (Container : in out List;
118+
Count : in Count_Type := 1);
119+
120+
procedure Reverse_Elements (Container : in out List);
121+
122+
procedure Swap (Container : in out List;
123+
I, J : in Cursor);
124+
125+
procedure Swap_Links (Container : in out List;
126+
I, J : in Cursor);
127+
128+
procedure Splice (Target : in out List;
129+
Before : in Cursor;
130+
Source : in out List);
131+
132+
procedure Splice (Target : in out List;
133+
Before : in Cursor;
134+
Source : in out List;
135+
Position : in out Cursor);
136+
137+
procedure Splice (Container: in out List;
138+
Before : in Cursor;
139+
Position : in Cursor);
140+
141+
function First (Container : List) return Cursor;
142+
143+
function First_Element (Container : List)
144+
return Element_Type;
145+
146+
function Last (Container : List) return Cursor;
147+
148+
function Last_Element (Container : List)
149+
return Element_Type;
150+
151+
function Next (Position : Cursor) return Cursor;
152+
153+
function Previous (Position : Cursor) return Cursor;
154+
155+
procedure Next (Position : in out Cursor);
156+
157+
procedure Previous (Position : in out Cursor);
158+
159+
function Find (Container : List;
160+
Item : Element_Type;
161+
Position : Cursor := No_Element)
162+
return Cursor;
163+
164+
function Reverse_Find (Container : List;
165+
Item : Element_Type;
166+
Position : Cursor := No_Element)
167+
return Cursor;
168+
169+
function Contains (Container : List;
170+
Item : Element_Type) return Boolean;
171+
172+
procedure Iterate
173+
(Container : in List;
174+
Process : not null access procedure (Position : in Cursor));
175+
176+
procedure Reverse_Iterate
177+
(Container : in List;
178+
Process : not null access procedure (Position : in Cursor));
179+
180+
function Iterate (Container : in List)
181+
return List_Iterator_Interfaces.Reversible_Iterator'Class;
182+
183+
function Iterate (Container : in List; Start : in Cursor)
184+
return List_Iterator_Interfaces.Reversible_Iterator'Class;
185+
186+
generic
187+
with function "<" (Left, Right : Element_Type)
188+
return Boolean is <>;
189+
package Generic_Sorting is
190+
191+
function Is_Sorted (Container : List) return Boolean;
192+
193+
procedure Sort (Container : in out List);
194+
195+
procedure Merge (Target : in out List;
196+
Source : in out List);
197+
198+
end Generic_Sorting;
199+
200+
private
201+
202+
-- not specified by the language
203+
204+
end Ada.Containers.Bounded_Doubly_Linked_Lists;

0 commit comments

Comments
 (0)