comp.lang.ada
 help / color / mirror / Atom feed
From: agate!spool.mu.edu!umn.edu!The-Star.honeywell.com!saifr00.cfsat.honeywell .com!lam@ucbvax.Berkeley.EDU  (Josh Lam)
Subject: Novice Question on Record Representation
Date: 16 Dec 92 22:57:12 GMT	[thread overview]
Message-ID: <1992Dec16.225712.23791@saifr00.cfsat.honeywell.com> (raw)

There is a type in another package I need to use in a record in my package.
Unfortunately, that type is private and I need to use record representation
for my record.

package Some_Package is

 type Some_Int is new integer;
 for Some_Int'size use 16;

 type Some_Type is private

 -- etc etc

 private

  type Some_Type is new integer;
  for Some_Type'size use 32;

end Some_Package;


with Some_Package;
package My_Package is

 type My_Rec (Choice: Boolean := True) is record
   case Choice is
     when True =>
       A : Some_Package.Some_Int;
       B : Some_Package.Some_Int;
       C : Some_Package.Some_Type;
     when False =>
       D : Some_Package.Some_Int;
   end case;
 end record;
   
 for My_Rec use record
    A      at 0 range 0..15;
    B      at 0 range 16..31;
    C      at 1 range 0..31;     -- of course there is an error here!
    Choice at 2 range 0..31;
    D      at 0 range 0..15;
 end record;

-- etc etc

end My_Package;


I know that I cannot do the above cos C is of Some_Package.Some_Type which
is a private type.

So, other than yelling at the person and getting him to change his type
to public, what are my alternatives given that I need to use record
representation. Please also let me know some pros and cons (if any) to any
alternative.

Thanks in advance!

-- 
Josh Lam
Honeywell Inc
lam@saifr00.cfsat.honeywell.com

             reply	other threads:[~1992-12-16 22:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-12-16 22:57 Josh Lam [this message]
  -- strict thread matches above, loose matches on Subject: below --
1992-12-17 13:28 Novice Question on Record Representation agate!spool.mu.edu!sdd.hp.com!saimiri.primate.wisc.edu!aplcen.apl.jhu.edu
1992-12-17 14:29 Douglas N. Surber
1992-12-17 18:24 Gary Morris @pulsar
1992-12-17 22:32 Douglas N. Surber
1992-12-18  0:22 zaphod.mps.ohio-state.edu!cis.ohio-state.edu!udecc.engr.udayton.edu!black
replies disabled

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