Re: paramètres optionnels pour paquetag es génériques

Thomas De Contes <[email protected]>
Newsgroups gmane.comp.lang.ada.france
Message-ID <[email protected]>
Le 9 déc. 07 à 03:55, Thomas De Contes a écrit :

> Au début, j'ai fait un paquetage qui ressemblait à ça :
>
>
> generic
> 	type item is private;
> package tableaux is
>
> 	type tableauStatique is array (Positive range <>) of item;
>
> 	type tableau is private;
>
> private
> 	type pointeurTableauStatique is access tableauStatique;
> 	type tableau is record
> 		pts : pointeurTableauStatique;
> 	end record;
> end tableaux;
>
>
>
> Et à un moment, j'ai eu besoin de fournir le type tableauStatique
>
> Alors j'ai fait :
>
>
> generic
> 	type item is private;
> package tableaux is
>
> 	type tableauStatique is array (Positive range <>) of item;
>
> 	package pt is new tableaux2(item,tableauStatique);
>
> 	type tableau is new pt.tableau;
>
> end tableaux;
>
>
> generic
> 	type item is private;
> 	type tableauStatique is array (Positive range <>) of item;
> package tableaux2 is
>
> 	type tableau is private;
>
>
> pour utiliser l'un où l'autre selon les besoins


> Question :
>
> Est ce que c'est possible de faire 1 seul paquetage qui permette à la
> fois :
> à l'utilisateur de fournir tableauStatique,
> ou de fournir tableauStatique à l'utilisateur,
> selon ses besoins ?

J'ai pas trouvé comment faire ça ...

> J'ai vu qu'il y avait des nouveautés en ada 2005 du coté des
> paramètres génériques,
> Est ce que par hasard il y en aurait une qui permettrait ça ? :-)

... Mais j'ai trouvé qu'on peut faire des conversion explicites entre  
tableau1 et tableau2 quand ils sont construits de la même façon mais  
chacun de leur coté :
type tableau1 is array (Positive range <>) of item;
type tableau2 is array (Positive range <>) of item;

Il me semblait avoir essayé en ada 95 et que ça n'avait pas marché ...
C'est aussi une nouveauté d'ada 2005 ? :-)


Alors c'est pas le nec + ultra,
mais ça m'a quand même permis d'avoir un code un peu plus propre,
et notamment d'avoir tableaux2 qui dépend de tableaux au lieu de  
l'inverse, ce qui me permet de le mettre comme paquetage enfant de  
tableaux :-)



Une question plus ou moins dérivée :

L'operateur "<" pour les tableaux,
est ce qu'il existe automatiquement si et seulement si il existe pour  
le type item qu'on utilise pour fabriquer le tableau ?

Si oui, est ce que c'est envisageable de faire des sous programmes,  
comme ça, qui existent ou pas en fonction de ce qui existe pour le  
type passé en paramètre générique d'un paquetage ?
(C'est pas trop confus ?)



-- 
j'agis contre l'assistanat, je travaille dans une SCOP !


_______________________________________________
Site WWW de l'association Ada-France: http://www.ada-france.org/
[email protected]
http://www.ada-france.org/mailman/listinfo/ada-france
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.