1
2
3
4
5
6
7
8
9
|
------------------------------------------------------------------------------
-- Copyright (c) 2014, Natacha Porté --
-- --
-- Permission to use, copy, modify, and distribute this software for any --
-- purpose with or without fee is hereby granted, provided that the above --
-- copyright notice and this permission notice appear in all copies. --
-- --
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES --
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF --
|
|
|
1
2
3
4
5
6
7
8
9
|
------------------------------------------------------------------------------
-- Copyright (c) 2014-2015, Natacha Porté --
-- --
-- Permission to use, copy, modify, and distribute this software for any --
-- purpose with or without fee is hereby granted, provided that the above --
-- copyright notice and this permission notice appear in all copies. --
-- --
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES --
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF --
|
218
219
220
221
222
223
224
225
226
227
228
229
230
231
|
function Reference
(Container : aliased in out Updatable_Map;
Key : in Key_Type)
return Reference_Type;
private
type Key_Access is access Key_Type;
type Element_Access is access Element_Type;
type Node is record
Key : not null Key_Access;
|
>
>
>
|
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
function Reference
(Container : aliased in out Updatable_Map;
Key : in Key_Type)
return Reference_Type;
Empty_Constant_Map : constant Constant_Map;
Empty_Updatable_Map : constant Updatable_Map;
private
type Key_Access is access Key_Type;
type Element_Access is access Element_Type;
type Node is record
Key : not null Key_Access;
|
374
375
376
377
378
379
380
381
382
383
|
overriding function Previous
(Object : Range_Iterator;
Position : Cursor) return Cursor
with Pre => Position.Is_Empty
or else Backend_Refs."=" (Position.Backend, Object.Backend);
No_Element : constant Cursor := (Is_Empty => True);
end Natools.Constant_Indefinite_Ordered_Maps;
|
>
>
|
377
378
379
380
381
382
383
384
385
386
387
388
|
overriding function Previous
(Object : Range_Iterator;
Position : Cursor) return Cursor
with Pre => Position.Is_Empty
or else Backend_Refs."=" (Position.Backend, Object.Backend);
Empty_Constant_Map : constant Constant_Map := (Backend => <>);
Empty_Updatable_Map : constant Updatable_Map := (Backend => <>);
No_Element : constant Cursor := (Is_Empty => True);
end Natools.Constant_Indefinite_Ordered_Maps;
|