comp.lang.ada
 help / color / mirror / Atom feed
From: Alain De Vos <devosalain71@gmail.com>
Subject: Re: How to Iterate over all elements of a hashed_map.
Date: Tue, 29 Oct 2019 07:20:41 -0700 (PDT)
Date: 2019-10-29T07:20:41-07:00	[thread overview]
Message-ID: <bfdcdb58-0aa9-42f5-a487-52f21dfa8ffd@googlegroups.com> (raw)
In-Reply-To: <6ea868a2-6f4b-413c-955d-08e8735f2880@googlegroups.com>

I found code which takes a different approach, here there is a function .Iterate public ... ,

with Ada.Containers.Indefinite_Hashed_Maps;
with Ada.Strings.Hash;

with Ada.Text_IO; use Ada.Text_IO;

procedure Show_Hashed_Map is

   package Integer_Hashed_Maps is new
     Ada.Containers.Indefinite_Hashed_Maps
       (Key_Type        => String,
        Element_Type    => Integer,
        Hash            => Ada.Strings.Hash,
        Equivalent_Keys => "=");

   use Integer_Hashed_Maps;

   M : Map;
   --  Same as:  M : Integer_Hashed_Maps.Map;
begin
   M.Include ("Alice", 24);
   M.Include ("John",  40);
   M.Include ("Bob",   28);

   if M.Contains ("Alice") then
      Put_Line ("Alice's age is "
                & Integer'Image (M ("Alice")));
   end if;

   --  Update Alice's age
   --  Key must already exist in M.
   --  Otherwise an exception is raised.
   M ("Alice") := 25;

   New_Line; Put_Line ("Name & Age:");
   for C in M.Iterate loop
      Put_Line (Key (C) & ": " & Integer'Image (M (C)));
   end loop;

end Show_Hashed_Map;


  reply	other threads:[~2019-10-29 14:20 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-29 13:43 How to Iterate over all elements of a hashed_map Alain De Vos
2019-10-29 14:20 ` Alain De Vos [this message]
2019-10-29 15:02   ` joakimds
2019-10-29 21:56     ` Randy Brukardt
2019-10-29 16:48 ` Jeffrey R. Carter
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox