with Ada.Containers.Ordered_Maps; with Ada.Containers.Vectors; with Iterators.From.Elements.Lists; with Iterators.From.Ordered_Maps; with Iterators.From.Vectors; with Iterators.Generators.Arrays; with Iterators.Operators; with Iterators.Shebang; package Iterators.Tests is -- Supporting instantiations: package Ints is new From.Elements (Integer); package Strings is new From.Elements (String); package Int2str is new Operators (Ints.Iterators, Strings.Iterators); package Str2int is new Operators (Strings.Iterators, Ints.Iterators); package Chars is new Shebang (Character); package Int_Lists is new Ints.Lists; package Int_Maps is new Ada.Containers.Ordered_Maps (Positive, Integer); package Int_Map_Iters is new From.Ordered_Maps (Int_Maps); package Int_Vectors is new Ada.Containers.Vectors (Positive, Integer); package Int_Vec_Iters is new From.Vectors (Int_Vectors); package Arrs is new Generators.Arrays (Any_Index => Positive, Any_Element => Integer, Root => Ints.Iterators); subtype Number_Array is Arrs.Element_Array; -- Supporting subprograms: function Add (L, R : Integer) return Integer is (L + R); procedure Check (It : Ints.Iterators.Iterator'Class; Ok : Number_Array); function Double (I : Integer) return Integer is (I * 2); function Image (I : Integer) return String is (Integer'Image (I)); function Is_Odd (I : Integer) return Boolean is (I mod 2 = 1); function Value (S : String) return Integer is (Integer'Value (S)); end Iterators.Tests;