Natools

Diff
Login

Differences From Artifact [784866a661]:

To Artifact [3be65a27de]:


1
2

3
4
5
6
7
8
9
1

2
3
4
5
6
7
8
9

-
+







------------------------------------------------------------------------------
-- Copyright (c) 2014, Natacha Porté                                        --
-- 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
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
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;