package body file is
procedure enfiler(f: in out MaFile; e : integer) is
begin
if filePleine(f) then
raise Erreur_FilePleine;
end if;
f.data(f.queue) := e;
f.queue := f.queue + 1;
f.size := f.size + 1;
if f.queue > maxsize_file then
f.queue := 1;
end if;
end;
procedure defiler(f: in out MaFile) is
begin
if fileVide(f) then
raise Erreur_FileVide;
end if;
f.head := f.head + 1;
f.size := f.size - 1;
if f.head > maxsize_file then
f.head := 1;
end if;
end;
function tete(f: in MaFile) return integer is
begin
return f.data(f.head);
end;
function fileVide(f: in MaFile) return Boolean is
begin
return f.size = 0;
end;
function filePleine(f: in MaFile) return Boolean is
begin
return f.size = maxsize_file;
end;
end file;