File : a-iteint.ads


   1 ------------------------------------------------------------------------------
   2 --                                                                          --
   3 --                         GNAT LIBRARY COMPONENTS                          --
   4 --                                                                          --
   5 --               A D A . I T E R A T O R . I N T E R F A C E S              --
   6 --                                                                          --
   7 --                                 S p e c                                  --
   8 --                                                                          --
   9 -- This specification is derived from the Ada Reference Manual for use with --
  10 -- GNAT.  In accordance with the copyright of that document, you can freely --
  11 -- copy and modify this specification,  provided that if you redistribute a --
  12 -- modified version,  any changes that you have made are clearly indicated. --
  13 --                                                                          --
  14 ------------------------------------------------------------------------------
  15 
  16 generic
  17    type Cursor;
  18    with function Has_Element (Position : Cursor) return Boolean;
  19    pragma Unreferenced (Has_Element);
  20 
  21 package Ada.Iterator_Interfaces is
  22    pragma Pure;
  23 
  24    type Forward_Iterator is limited interface;
  25 
  26    function First
  27      (Object : Forward_Iterator) return Cursor is abstract;
  28    function Next
  29      (Object   : Forward_Iterator;
  30       Position : Cursor) return Cursor is abstract;
  31 
  32    type Reversible_Iterator is limited interface and Forward_Iterator;
  33 
  34    function Last
  35      (Object : Reversible_Iterator) return Cursor is abstract;
  36    function Previous
  37      (Object   : Reversible_Iterator;
  38       Position : Cursor) return Cursor is abstract;
  39 end Ada.Iterator_Interfaces;