comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: Flags in Ada?
Date: 26 Oct 1994 07:01:45 -0400
Date: 1994-10-26T07:01:45-04:00	[thread overview]
Message-ID: <38lcup$ibq@schonberg.cs.nyu.edu> (raw)
In-Reply-To: 38k89k$kfk@goanna.cs.rmit.oz.au

The natural way of representing flags, i.e. words in which individual bits
have names and can be manipulated is to use pragma pack (some implementations
may require you to use a record representation clause, but this should not
be necessary, and is a weakness in the implementation).

   type Flag_Byte is record
      Flag1 : Boolean;
      ...
      Flag8 : Boolean;
   end record;

   for Flag_Byte'Size use 8;
   pragma Pack (Flag_Byte);

That should work fine (certainly works fine on GNAT, where it is equivalent
to the obviously corresponding C declaration with bit fields of length 1)

If sometimes you need to regard this as an integer, then you need to use
unchecked conversion -- quite an appropriate use of unchecked conversion,
since you are asking to view the same data as two totally different types.




  reply	other threads:[~1994-10-26 11:01 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1994-10-25 10:36 Flags in Ada? Andre Spiegel
1994-10-25 10:07 ` David Emery
1994-10-25 16:19 ` Norman H. Cohen
1994-10-26  3:19   ` tmoran
1994-10-26  9:59     ` David Emery
1994-10-26 22:32       ` Robert Dewar
1994-10-27 13:24         ` Norman H. Cohen
1994-10-27 15:15         ` John Volan
1994-10-31  9:29         ` David Emery
1994-10-27 22:34       ` Henry G. Baker
1994-10-26 14:33     ` Robert Dewar
1994-10-26 17:43     ` Norman H. Cohen
1994-10-26 15:54   ` Andre Spiegel
1994-10-26  0:36 ` Dale Stanbrough
1994-10-26 11:01   ` Robert Dewar [this message]
1994-10-27  8:23 ` Henri Altarac
1994-10-27 23:00   ` Robert Dewar
1994-10-31  9:32     ` David Emery
  -- strict thread matches above, loose matches on Subject: below --
1994-10-25 16:22 tmoran
1994-10-27  5:05 tmoran
1994-10-27 13:29 ` Robert Dewar
1994-10-27 17:15 ` Norman H. Cohen
1994-10-28  3:51   ` Robert Dewar
1994-10-27  5:06 tmoran
1994-10-27 13:47 ` Robert Dewar
1994-10-28  2:41   ` Tucker Taft
1994-10-30 13:31     ` Robert Dewar
1994-10-28  3:59 tmoran
1994-10-28 13:43 ` Robert Dewar
1994-10-31 14:19   ` Norman H. Cohen
1994-11-02 14:06     ` Mats Weber
1994-11-03 23:08       ` Robert Dewar
1994-11-03 11:26     ` Robert Dewar
replies disabled

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