| with Ada.Iterator_Interfaces; |
| |
| package Renaming16_Pkg is |
| |
| type Results_Type is tagged null record; |
| |
| type Cursor is access constant Results_Type'Class; |
| |
| not overriding |
| function Has_Element (Position : Cursor) return Boolean; |
| |
| package Base_Iterators is |
| new Ada.Iterator_Interfaces (Cursor, Has_Element); |
| |
| -- Can be with null record |
| type Bindings_Iterator is |
| new Base_Iterators.Forward_Iterator with |
| record |
| Ref: Cursor; |
| end record; |
| |
| not overriding |
| function Create_Bindings_Iterator |
| (Results : in out Results_Type'Class) |
| return Bindings_Iterator; |
| |
| overriding function First (Object: Bindings_Iterator) return Cursor; |
| overriding function Next (Object: Bindings_Iterator; Position: Cursor) return Cursor; |
| |
| function Whatever return Boolean; |
| subtype Bindings_Query_Results_Type is Results_Type |
| with Dynamic_Predicate => Whatever; |
| |
| end Renaming16_Pkg; |