comp.lang.ada
 help / color / mirror / Atom feed
From: Matthew Heaney <matthew_heaney@acm.org>
Subject: Re: Can Ada95 features replace the use of Ada 83 Varient records?
Date: 1998/08/30
Date: 1998-08-30T00:00:00+00:00	[thread overview]
Message-ID: <m3iujarde4.fsf@mheaney.ni.net> (raw)
In-Reply-To: 01bdcd2f$a7da71f0$0f010180@nc84c

"Mark" <mark@lourow.demon.co.uk> writes:

> -- I'm new to Ada95 (Familar with 83) and thought that the use 
> -- of varient records in Ada 83 can be replaced by Tagged types.
> 
> -- Is it possible to implement the following using Ada 95 features?

Here you go:


package Test is

   type Large_Data_Type is new Integer;     -- large record normally

   type Rec_Type is tagged null record;

   type Changed_Rec_Type is
     new Rec_Type with record
        Data : Large_Data_Type;
     end record;

   function Get return Rec_Type'Class;

end Test;


package body Test is

   Large_Data : Large_Data_Type := 1;

   function Get return Rec_Type'Class is

      Outside_Event : Boolean := false;

   begin
      case Outside_Event is
         when True =>
            return Changed_Rec_Type'(Data => Large_Data);

         when False =>
            return Rec_Type'(null record);

      end case;
   end Get;

end Test;





      parent reply	other threads:[~1998-08-30  0:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-08-21  0:00 Can Ada95 features replace the use of Ada 83 Varient records? Mark
1998-08-21  0:00 ` David C. Hoos, Sr.
1998-08-30  0:00 ` Matthew Heaney [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