comp.lang.ada
 help / color / mirror / Atom feed
* Q: how to copy contents and use ancestor's constraints at the same time ?
@ 2007-08-13 21:16 Gautier
  2007-08-13 21:33 ` Adam Beneschan
  2007-08-14  7:45 ` Dmitry A. Kazakov
  0 siblings, 2 replies; 6+ messages in thread
From: Gautier @ 2007-08-13 21:16 UTC (permalink / raw)


Hello!

In the procedure below, how to do [A] and [B] together, and is there a way not 
to have to write the constraints, like when constraining an object by 
initializing it with a value of the same type ?

Thanks in advance!
NB: I looked in a book, but maybe not hard enough ;-)
-----
procedure Test_Ancestor_copy is

   type Index_array_type is array(Positive range <>) of Natural;

   type PF_Data(
     n1: Natural;
     n2: Natural;
     n3: Natural
   )
   is
     tagged record
       p1 : Index_array_type(1..n1);
       p2 : Index_array_type(1..n2);
       p3 : Index_array_type(1..n3);
     end record;

   function Read return PF_Data is
   begin
     return
       (n1 => 1,
        n2 => 2,
        n3 => 3,
        p1 => (1=>1),
        p2 => (1,2),
        p3 => (1,2,3)
       );
   end Read;

   type PF is new PF_Data with record
     computed: Boolean:= False;
     result: Float;
   end record;

   initial_pf: constant PF_Data:= Read;

   work_pf: PF(
     n1 => initial_pf.n1,
     n2 => initial_pf.n2,
     n3 => initial_pf.n3
   );
   -- [A] work_pf sized with initial_pf constraints

begin
   PF_Data(work_pf):= initial_pf; -- [B] copy base data
end;
______________________________________________________________
Gautier         -- http://www.mysunrise.ch/users/gdm/index.htm
Ada programming -- http://www.mysunrise.ch/users/gdm/gsoft.htm

NB: For a direct answer, e-mail address on the Web site!



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-08-14 23:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-08-13 21:16 Q: how to copy contents and use ancestor's constraints at the same time ? Gautier
2007-08-13 21:33 ` Adam Beneschan
2007-08-14  0:48   ` Jeffrey R. Carter
2007-08-14 23:35     ` Adam Beneschan
2007-08-14  7:45 ` Dmitry A. Kazakov
2007-08-14  8:59   ` gautier_niouzes

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