Recherche…


Sous-programmes génériques

Les sous-programmes génériques sont utiles pour créer des sous-programmes ayant la même structure pour plusieurs types. Par exemple, pour échanger deux objets:

generic
    type A_Type is private;
procedure Swap (Left, Right : in out A_Type) is
    Temp : A_Type := Left;
begin
    Left := Right;
    Right := Temp;
end Swap;

Paquets génériques

Dans le package générique Ada, lors de l'instanciation, les données sont dupliquées; en d'autres termes, si elles contiennent des variables globales, chaque instance aura sa propre copie de la variable, correctement typée et indépendante des autres.

generic
    type T is private;
package Gen is
    type C is tagged record
        V : T;
    end record;
    G : Integer;
end Gen;

Paramètres génériques

Ada offre une grande variété de paramètres génériques difficiles à traduire dans d'autres langues. Les paramètres utilisés lors de l'instanciation et par conséquent ceux sur lesquels l'unité générique peut s'appuyer peuvent être des variables, des types, des sous-programmes ou des instances de package, avec certaines propriétés. Par exemple, ce qui suit fournit un algorithme de tri pour tout type de tableau:

generic
    type Component is private;
    type Index is (<>);
    with function "<" (Left, Right : Component) return Boolean;
    type Array_Type is array (Index range <>) of Component;
procedure Sort (A : in out Array_Type);


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow