presidents.ads

--
-- Cet acteur permet d'accéder à la liste des présidents des États-Unis
--

package Presidents is

   -- Chaque président est numéroté
   -- La numérotation va de 1 à N (nombre de présidents répertoriés).
   -- La liste est dans l'ordre chronologique.

   -- Nombre de présidents présents dans la liste
   function Nb_Presidents return Integer ;

   -- Renvoie le nom du n-eme président.
   function Nom (No : Integer) return String ;

   type T_Infos is record
      -- Année de début de mandat
      Debut : Integer ;

      -- Année de fin de mandat
      Fin : Integer ;

      -- Parti politique, avec la convention suivante :
      --   'F' Fédéraliste
      --   'B' Républicain-démocrate
      --   'R' Républicain
      --   'D' Démocrate
      --   'W' Whig
      Parti : Character ;

      -- Indique si ce président a été au bout de son mandat
      Mandat_Complet : Boolean ;
   end record ;

   -- Renvoie les informations concernant le N-eme président
   function Infos (No : Integer) return T_Infos ;

end Presidents ;