From: Egil H H <ehh.public@gmail.com>
Subject: Re: strange cursor in nested containers
Date: Wed, 19 Apr 2023 22:15:34 -0700 (PDT) [thread overview]
Message-ID: <6aa39f27-62ca-4486-9fc7-1c713da5b098n@googlegroups.com> (raw)
In-Reply-To: <a346f13d-9876-488a-9472-4563de130311n@googlegroups.com>
On Wednesday, April 19, 2023 at 9:09:48 AM UTC+2, Mario Blunk wrote:
> Hello out there,
> I've put together a demo to reproduce a strange behavior of a cursor.
>
> https://github.com/Blunk-electronic/ada_training/blob/master/src/containers/demo/nested/nest_1.adb
>
Each call to `element(n)` returns a _copy_ of the element, which in this case includes the enitre doubly linked list
(and since `net` is a renames of `element(n), you would have gotten multiple copies if you had called `net` multiple times inside query net)
Using a reference instead should fix this problem:
net : type_net renames nets.reference (key(n));
or (Ada 2012):
net : type_net renames nets(n);
--
~egilhh
next prev parent reply other threads:[~2023-04-20 5:15 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-19 7:09 strange cursor in nested containers Mario Blunk
2023-04-19 15:07 ` Simon Wright
2023-04-20 5:15 ` Egil H H [this message]
2023-04-20 5:33 ` Egil H H
2023-04-20 14:59 ` Simon Wright
2023-04-20 15:28 ` Mario Blunk
2023-04-22 9:33 ` Randy Brukardt
2023-04-22 17:04 ` Mario Blunk
2023-04-22 18:33 ` Jeffrey R.Carter
2023-04-25 7:30 ` Mario Blunk
2023-05-09 3:56 ` Randy Brukardt
2023-05-09 8:36 ` Jeffrey R.Carter
2023-05-09 8:49 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox