comp.lang.ada
 help / color / mirror / Atom feed
From: "David C. Hoos, Sr." <david.c.hoos.sr@ada95.com>
Subject: Re: System.Address_to_Access_Conversions
Date: 1998/07/15
Date: 1998-07-15T00:00:00+00:00	[thread overview]
Message-ID: <6ojc8p$7fu@hacgate2.hac.com> (raw)
In-Reply-To: 6oj1qi$n37$1@nnrp1.dejanews.com

jsanchor@my-dejanews.com wrote in message
<6oj1qi$n37$1@nnrp1.dejanews.com>...
<snip>
>After reading all the comments from all who have responded I am
>worried because I also thought that the TAG was the first element in the
>record. I have tampered with my program ~100 times and it did stay there.
(I
>am not saying you are wrong just pondering).
>
Well, for a given version of a given compiler, that may well be the case.
With gnat, I found (as I said in an earlier post) that I could control where
that tag _isn't_ by using a representation clause to define where everything
else _is_.

As some have pointed out, there is no requirement that the tag even be
present in the memory layout, so I wouldn't depend on the tag being there,
if it were I.

For portability, I would consider using stream I/O to read and write the
data to NVM.  Then you would have a portable representation -- i.e., the
_external_ tag -- written in memory.  You _could_ use the implementation's
default external tag value for each type, but for portability I would define
the external_tag for each type using an attribute definition clause.

In such a case, the data type which you would be referencing in the
System.Address_to_Access_Conversion instantiation would be an array of
stream_elements.

Just for what it's worth -- I hope a little more than two cents!

David C. Hoos, Sr.







  reply	other threads:[~1998-07-15  0:00 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-07-13  0:00 System.Address_to_Access_Conversions jsanchor
1998-07-13  0:00 ` System.Address_to_Access_Conversions Stephen Leake
1998-07-14  0:00   ` System.Address_to_Access_Conversions jsanchor
1998-07-14  0:00 ` System.Address_to_Access_Conversions Pascal MALAISE
1998-07-14  0:00   ` System.Address_to_Access_Conversions jsanchor
1998-07-14  0:00     ` System.Address_to_Access_Conversions David C. Hoos, Sr.
1998-07-14  0:00       ` System.Address_to_Access_Conversions jsanchor
1998-07-14  0:00         ` System.Address_to_Access_Conversions David C. Hoos, Sr.
1998-07-14  0:00       ` System.Address_to_Access_Conversions nabbasi
1998-07-14  0:00         ` System.Address_to_Access_Conversions Robert Dewar
1998-07-14  0:00         ` System.Address_to_Access_Conversions David C. Hoos, Sr.
1998-07-15  0:00           ` System.Address_to_Access_Conversions jsanchor
1998-07-15  0:00             ` David C. Hoos, Sr. [this message]
1998-07-26  0:00         ` System.Address_to_Access_Conversions Matthew Heaney
1998-07-26  0:00           ` System.Address_to_Access_Conversions nababsi
1998-07-26  0:00             ` System.Address_to_Access_Conversions Robert Dewar
1998-07-26  0:00             ` System.Address_to_Access_Conversions Matthew Heaney
1998-07-26  0:00               ` System.Address_to_Access_Conversions Robert Dewar
1998-07-26  0:00                 ` System.Address_to_Access_Conversions nabbasi
1998-07-26  0:00             ` System.Address_to_Access_Conversions Charles Hixson
1998-07-26  0:00               ` System.Address_to_Access_Conversions Robert Dewar
1998-07-26  0:00             ` System.Address_to_Access_Conversions Charles Hixson
1998-07-14  0:00 ` System.Address_to_Access_Conversions Anonymous
  -- strict thread matches above, loose matches on Subject: below --
1998-07-15  0:00 System.Address_to_Access_Conversions Marin David Condic, 561.796.8997, M/S 731-96
1998-07-26  0:00 ` System.Address_to_Access_Conversions Matthew Heaney
1998-07-27  0:00 System.Address_to_Access_Conversions Marin David Condic, 561.796.8997, M/S 731-96
1998-07-28  0:00 ` System.Address_to_Access_Conversions Stephen Leake
replies disabled

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