comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus@futureapps.de>
Subject: Re: generics and records
Date: Tue, 01 Mar 2005 20:47:24 +0100
Date: 2005-03-01T20:46:32+01:00	[thread overview]
Message-ID: <4224c698$0$24941$9b4e6d93@newsread2.arcor-online.net> (raw)
In-Reply-To: <8065486.gdOUxkNXWZ@linux1.krischik.com>

Martin Krischik wrote:

>>generic
>> type x is private;
> 
> 
> You need a common ancestor class for this construct to work:
> 
> type x is new y with private;
> 
> 
>>package ...
>>private
>> type xx is new x;
>>end ...

Yes and no. The actual parameter is not a record in
the following example (Natural), but it could be one.

procedure P is

   generic
      type X is private;
   package G is
      type Y is new X;

      -- disallow multiplication and division in type Y

      function "*"(a, b: Y) return Y is abstract;
      function "/"(a, b: Y) return Y is abstract;
   end G;


   package I is new G(Natural);

   use I;

   v: Y := 1;

begin
   v := v + 1;
end P;



  reply	other threads:[~2005-03-01 19:47 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-27 19:34 generics and records spambox
2005-02-27 20:16 ` Dmitry A. Kazakov
2005-02-27 21:31   ` spambox
2005-02-28  8:47     ` Dmitry A. Kazakov
2005-02-28  9:00       ` spambox
2005-02-28 10:07         ` Dmitry A. Kazakov
2005-02-28  6:02 ` Jeffrey Carter
2005-03-01 11:21 ` Martin Krischik
2005-03-01 19:47   ` Georg Bauhaus [this message]
2005-03-01 20:17     ` Dmitry A. Kazakov
replies disabled

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