
generic
  type Item is private;
  type Item_Vector is array (Integer range <>) of Item;
  with function "<"(X,Y: Item) return Boolean is <>;
  with procedure Swap(X,Y: in out Item) is <>;
procedure Quick_Sort(First,Last: in Integer; Items: in out Item_Vector); -- increasing order
