summaryrefslogtreecommitdiff
path: root/src/candidates-containers.adb
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2017-07-05 17:12:49 +1000
committerJed Barber <jjbarber@y7mail.com>2017-07-05 17:12:49 +1000
commitfd71b0e74f89a7eb31e2a80a1b47614c2a59569f (patch)
tree438ca61c97a3eb47634ba08a5c6d67cec98281cd /src/candidates-containers.adb
parentbb80ba1f9c02be0f99690ca392644ae4404aecc7 (diff)
Changed Candidate_Map to Candidate_Vector
Diffstat (limited to 'src/candidates-containers.adb')
-rw-r--r--src/candidates-containers.adb15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/candidates-containers.adb b/src/candidates-containers.adb
index 9dc7f74..b9b56c7 100644
--- a/src/candidates-containers.adb
+++ b/src/candidates-containers.adb
@@ -13,7 +13,7 @@ package body Candidates.Containers is
procedure Read_Candidates
(Filename : in String;
State : in State_Name;
- Candidate_Data : out Candidate_Map)
+ Candidate_Data : out Candidate_Vector)
is
package My_CSV is new CSV;
use Ada.Text_IO;
@@ -22,11 +22,9 @@ package body Candidates.Containers is
Input_File : File_Type;
Current_Record : My_CSV.CSV_Record;
Current_Candidate : Candidate;
-
- Next_ID : CandidateID := CandidateID'First;
begin
Open (Input_File, In_File, Filename);
- Candidate_Data := Candidate_Maps.Empty_Map;
+ Candidate_Data := Candidate_Vectors.Empty_Vector;
while not End_Of_File (Input_File) loop
Current_Record := My_CSV.Parse_Line (Get_Line (Input_File));
@@ -43,8 +41,7 @@ package body Candidates.Containers is
Group => Current_Record.Element (5),
Group_Rank => Current_Record.Element (6),
Party => Current_Record.Element (9));
- Candidate_Data.Insert (Next_ID, Current_Candidate);
- Next_ID := Next_ID + 1;
+ Candidate_Data.Append (Current_Candidate);
end if;
end loop;
@@ -161,7 +158,7 @@ package body Candidates.Containers is
procedure Generate_Ballots
- (Candidate_Data : in Candidate_Map;
+ (Candidate_Data : in Candidate_Vector;
Above_Ballot : out Above_Line_Ballot;
Below_Ballot : out Below_Line_Ballot)
is
@@ -173,9 +170,9 @@ package body Candidates.Containers is
My_Candidate_Data := Cand_Sort_Data_Vectors.Empty_Vector;
for Cursor in Candidate_Data.Iterate loop
- Working_Candidate := Candidate_Maps.Element (Cursor);
+ Working_Candidate := Candidate_Vectors.Element (Cursor);
My_Candidate_Data.Append
- ((Cand_ID => Candidate_Maps.Key (Cursor),
+ ((Cand_ID => Candidate_Vectors.To_Index (Cursor),
Group => Working_Candidate.Group,
Group_Rank => Working_Candidate.Group_Rank));
end loop;