gnat_riscv64_elf_13.2.1_938f208c/riscv64-elf/lib/gnat/embedded-polarfiresoc/gnat/a-iteint.ads

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
------------------------------------------------------------------------------
--                                                                          --
--                         GNAT LIBRARY COMPONENTS                          --
--                                                                          --
--               A D A . I T E R A T O R . I N T E R F A C E S              --
--                                                                          --
--                                 S p e c                                  --
--                                                                          --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT.  In accordance with the copyright of that document, you can freely --
-- copy and modify this specification,  provided that if you redistribute a --
-- modified version,  any changes that you have made are clearly indicated. --
--                                                                          --
------------------------------------------------------------------------------

generic
   type Cursor;
   with function Has_Element (Position : Cursor) return Boolean;
   pragma Unreferenced (Has_Element);

package Ada.Iterator_Interfaces is
   pragma Pure;

   type Forward_Iterator is limited interface with No_Task_Parts;

   function First
     (Object : Forward_Iterator) return Cursor is abstract;
   function Next
     (Object   : Forward_Iterator;
      Position : Cursor) return Cursor is abstract;

   type Reversible_Iterator is limited interface and Forward_Iterator with
     No_Task_Parts;

   function Last
     (Object : Reversible_Iterator) return Cursor is abstract;
   function Previous
     (Object   : Reversible_Iterator;
      Position : Cursor) return Cursor is abstract;
end Ada.Iterator_Interfaces;