From: Jere <jhb.chat@gmail.com>
Subject: Re: Ada Alternatives to Unrestricted_Access
Date: Sun, 11 Mar 2018 07:31:31 -0700 (PDT)
Date: 2018-03-11T07:31:31-07:00 [thread overview]
Message-ID: <5c448ce7-5646-45c5-b221-3d9c884c4d52@googlegroups.com> (raw)
In-Reply-To: <p82uip$r76$1@dont-email.me>
On Sunday, March 11, 2018 at 5:57:47 AM UTC-4, Jeffrey R. Carter wrote:
> On 03/11/2018 01:38 AM, Jere wrote:
> > On Friday, March 9, 2018 at 11:46:03 AM UTC-5, Jeffrey R. Carter wrote:
> >>
> >> OK, that's what I missed. I guess you could unchecked convert from
> >> access-constant to access-all.
> >>
> > My only concern with this is does the Ada language allow it portably? I
> > know it works in GNAT, but what I couldn't find is if the RM allowed
> > for a constant variable to have a different internal representation than
> > a non constant version of the variable. If that were the case, then I
> > would be worried that doing an unchecked_conversion (or an
> > Address_To_Access_Conversion) could provide an erroneous result.
>
> <SNIPPED>
>
> Why do you need this function?
>
It's iterator related. In order to iterate through a container in all
contexts, the Default_Iterator function needs a parameter of mode "in".
In order to leverage the anti tamper functionality, the iterator needs
a non constant access to the container to be supplied when building
the iterator inside the Default_Iterator function (so it can modify
the tamper state of the container). The GNAT body for the Vectors
package has an example (I think it is a-convec.adb, just search for
"function iterate" and look for the one that returns an iterator).
next prev parent reply other threads:[~2018-03-11 14:31 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-07 20:11 Ada Alternatives to Unrestricted_Access Jere
2018-03-07 20:38 ` Dmitry A. Kazakov
2018-03-07 22:29 ` Jere
2018-03-08 8:27 ` Dmitry A. Kazakov
2018-03-09 0:43 ` Jere
2018-03-09 0:52 ` Jere
2018-03-09 8:28 ` Dmitry A. Kazakov
2018-03-11 0:31 ` Jere
2018-03-08 3:18 ` gautier_niouzes
2018-03-09 0:41 ` Jere
2018-03-08 17:51 ` Jeffrey R. Carter
2018-03-09 0:36 ` Jere
2018-03-09 16:46 ` Jeffrey R. Carter
2018-03-11 0:38 ` Jere
2018-03-11 9:57 ` Jeffrey R. Carter
2018-03-11 10:44 ` Dmitry A. Kazakov
2018-03-11 14:31 ` Jere [this message]
2018-03-11 15:49 ` Jeffrey R. Carter
2018-03-11 17:33 ` Jere
2018-03-11 18:12 ` Jeffrey R. Carter
2018-03-11 19:53 ` Jere
2018-03-12 16:28 ` Jeffrey R. Carter
2018-03-11 18:27 ` Niklas Holsti
2018-03-11 20:07 ` Jere
2018-03-12 23:35 ` Randy Brukardt
2018-03-12 23:30 ` Randy Brukardt
2018-03-13 7:46 ` Niklas Holsti
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox