comp.lang.ada
 help / color / mirror / Atom feed
From: Christoph Grein <Christoph.Grein@eurocopter.com>
Cc: comp.lang.ada@ada-france.org
Subject: Re: generic parameter Copy for primitifs types.
Date: Mon, 27 Jun 2005 06:28:17 +0200
Date: 2005-06-27T06:28:17+02:00	[thread overview]
Message-ID: <mailman.100.1119847370.17633.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: 1119544911.159343.288010@g43g2000cwa.googlegroups.com

nblanpain@hotmail.com wrote:

>Hello,
>
>this is my problem :
>
>-----
>generic
>type T_Item is private;
>with procedure Copy (Left : in out T_Item; Right : in T_Item);
>package Toto is
>...
>end Toto;
>------
>
>At instanciation, for T_Item = Integer for example, is there a methode
>to take for Copy => ":=". Must I redefined Copy ? Can I say that, by
>default, take ":=" ?
>
As you should know by now from all the answers there is no way to avoid 
defining Copy.

As also others have pointed out, T_Item should probably be limited 
private. As it stands,
Toto has := and Copy:

package body Toto is
  ...
  X := Y;      -- Do you really want both?
  Copy (X, Y);  -- which to use?

If T_Item is limited private, := is no longer available in Toto.

What you perhaps don't know is that the actual type for a limited formal 
type need not be limited. If you say

generic
  type T_Item is limited private;

then you can take any definite type as actual.




      parent reply	other threads:[~2005-06-27  4:28 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-23 16:41 generic parameter Copy for primitifs types nblanpain
2005-06-23 17:47 ` Marc A. Criley
2005-06-23 17:54 ` Dmitry A. Kazakov
2005-06-23 19:41   ` nblanpain
2005-06-23 23:44     ` Marius Amado Alves
2005-06-28 10:30       ` Matthew Heaney
2005-06-28 11:21         ` Marius Amado Alves
2005-06-24  7:28     ` Dmitry A. Kazakov
2005-06-24 11:45       ` Marius Amado Alves
2005-06-24 14:53         ` Dmitry A. Kazakov
2005-06-24 15:11           ` Marius Amado Alves
2005-06-25 15:05           ` Martin Krischik
2005-06-23 18:30 ` Björn Persson
2005-06-23 19:39   ` nblanpain
2005-06-23 19:52     ` Marc A. Criley
2005-06-24  3:10 ` Jeffrey Carter
2005-06-27  4:28 ` Christoph Grein [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox