1with Ada.Iterator_Interfaces; 2 3package Renaming16_Pkg is 4 5 type Results_Type is tagged null record; 6 7 type Cursor is access constant Results_Type'Class; 8 9 not overriding 10 function Has_Element (Position : Cursor) return Boolean; 11 12 package Base_Iterators is 13 new Ada.Iterator_Interfaces (Cursor, Has_Element); 14 15 -- Can be with null record 16 type Bindings_Iterator is 17 new Base_Iterators.Forward_Iterator with 18 record 19 Ref: Cursor; 20 end record; 21 22 not overriding 23 function Create_Bindings_Iterator 24 (Results : in out Results_Type'Class) 25 return Bindings_Iterator; 26 27 overriding function First (Object: Bindings_Iterator) return Cursor; 28 overriding function Next (Object: Bindings_Iterator; Position: Cursor) return Cursor; 29 30 function Whatever return Boolean; 31 subtype Bindings_Query_Results_Type is Results_Type 32 with Dynamic_Predicate => Whatever; 33 34end Renaming16_Pkg; 35