Files
alire-index-community/src/alire-containers.ads
T
Alejandro R Mosteo cf1da607e8 checkpoint 1
2018-05-06 17:05:20 +02:00

52 lines
2.0 KiB
Ada

with Ada.Containers.Indefinite_Holders;
with Ada.Containers.Indefinite_Ordered_Maps;
with Ada.Containers.Indefinite_Ordered_Sets;
with Alire.Conditional;
with Alire.Milestones;
with Alire.Releases;
with Semantic_Versioning;
package Alire.Containers with Preelaborate is
package Milestone_Sets is new Ada.Containers.Indefinite_Ordered_Sets (Milestones.Milestone,
Milestones."<",
Milestones."=");
package Release_Sets is new Ada.Containers.Indefinite_Ordered_Sets (Releases.Release,
Releases."<",
Releases."=");
subtype Release_Set is Release_Sets.Set;
package Release_Holders is new Ada.Containers.Indefinite_Holders (Releases.Release,
Releases."=");
subtype Release_H is Release_Holders.Holder;
package Project_Description_Maps is new Ada.Containers.Indefinite_Ordered_Maps
(Alire.Project, Description_String);
package Project_Version_Maps is new Ada.Containers.Indefinite_Ordered_Maps
(Alire.Project, Semantic_Versioning.Version, "<", Semantic_Versioning."<");
subtype Version_Map is Project_Version_Maps.Map;
package Project_Release_Maps is new Ada.Containers.Indefinite_Ordered_Maps
(Alire.Project, Releases.Release, "<", Releases."=");
type Release_Map is new Project_Release_Maps.Map with null record;
function Excluding (Map : Release_Map; Name : Alire.Project) return Release_Map;
function Including (Map : Release_Map; Release : Releases.Release) return Release_Map;
-- Finds the current release (if existing) and replaces/adds the new Release
function To_Dependencies (Map : Release_Map)
return Conditional.Dependencies;
function To_Map (R : Releases.Release) return Release_Map;
end Alire.Containers;