From: "Robert I. Eachus" <rieachus@comcast.net>
Subject: Re: C array to Ada pointer to unconstrained array without copying memory
Date: Wed, 08 Oct 2003 02:14:49 GMT
Date: 2003-10-08T02:14:49+00:00 [thread overview]
Message-ID: <3F837303.9040202@comcast.net> (raw)
In-Reply-To: mailman.41.1065561795.25614.comp.lang.ada@ada-france.org
Duncan Sands wrote:
> So far so good. Now suppose I do:
>
> Y : Array_Pointer := new Array_Type' (X); -- (*)
>
> The object I want is Y. What is the problem? The problem
> is that line (*) involves allocating memory and copying the
> data from X to that memory. I would like to end up with Y
> without performing the copy (and without reallocating
> memory for the array data).
What is wrong with:
Y: Array_Type;
for Y'Address use X'Address;
..if you want X and Y to be two different views of the same memory.
Notice that there is no need for an explicit pointer here, but if X is a
pointer as in your example, you may want to do:
Y: Array_Type;
for Y'Address use X.all'Address;
Oh, and if there is initialization for the elements of Array_Type you
may want to add a pragma Import; to turn off initialization.
--
Robert I. Eachus
"Quality is the Buddha. Quality is scientific reality. Quality is the
goal of Art. It remains to work these concepts into a practical,
down-to-earth context, and for this there is nothing more practical or
down-to-earth than what I have been talking about all along...the repair
of an old motorcycle." -- from Zen and the Art of Motorcycle
Maintenance by Robert Pirsig
next prev parent reply other threads:[~2003-10-08 2:14 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-07 14:43 C array to Ada pointer to unconstrained array without copying memory Duncan Sands
2003-10-07 18:30 ` tmoran
2003-10-07 19:24 ` Duncan Sands
2003-10-08 0:02 ` sk
[not found] ` <3F83540E.5000302@myob.com>
2003-10-08 9:18 ` Duncan Sands
2003-10-07 20:00 ` Jeffrey Carter
2003-10-07 20:39 ` Duncan Sands
2003-10-08 1:27 ` Jeffrey Carter
2003-10-07 20:53 ` Chad R. Meiners
2003-10-07 21:24 ` Duncan Sands
2003-10-07 22:44 ` C array to Ada pointer to unconstrained array without copyingmemory Chad R. Meiners
2003-10-07 22:52 ` Chad R. Meiners
2003-10-08 9:20 ` Duncan Sands
2003-10-08 16:16 ` C array to Ada pointer to unconstrained array withoutcopyingmemory Chad R. Meiners
2003-10-08 16:49 ` Duncan Sands
2003-10-08 2:14 ` Robert I. Eachus [this message]
2003-10-08 9:27 ` C array to Ada pointer to unconstrained array without copying memory Duncan Sands
2003-10-08 22:43 ` Robert I. Eachus
2003-10-09 9:31 ` Duncan Sands
2003-10-08 14:07 ` Steve Adams
2003-10-08 14:33 ` Preben Randhol
2003-10-09 23:04 ` Steve Adams
2003-10-09 23:11 ` Steve Adams
2003-10-08 16:30 ` Duncan Sands
2003-10-09 22:59 ` C array to Ada pointer to unconstrained array without copyingmemory Steve Adams
2003-10-10 7:02 ` Duncan Sands
2003-10-10 16:44 ` C array to Ada pointer to unconstrained array withoutcopyingmemory Steve Adams
2003-10-23 21:27 ` C array to Ada pointer to unconstrained array without copying memory Craig Carey
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox