From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Problem in "X (1).Re := X (1).Re + 1"
Date: Mon, 7 May 2012 20:14:42 -0500
Date: 2012-05-07T20:14:42-05:00 [thread overview]
Message-ID: <jo9s26$scj$1@munin.nbi.dk> (raw)
In-Reply-To: 10294366.7.1336426132700.JavaMail.geo-discussion-forums@yngg23
"Adam Beneschan" <adam@irvine.com> wrote in message
news:10294366.7.1336426132700.JavaMail.geo-discussion-forums@yngg23...
On Monday, May 7, 2012 11:53:58 AM UTC-7, ytomino wrote:
> On Tuesday, May 8, 2012 12:37:44 AM UTC+9, Adam Beneschan wrote:
...
>So it looks to me like the method you suggest shouldn't be allowed, even in
>your own container,
> since it would make it impossible to implement Constant_Reference
> correctly.
It seems to me that his implementation is wrong, since Constant_Reference
creates a reference, so it should be impossible for something else to
"deallocate" the reference at the same time. (I'm talking about in a
hand-created container, I don't think this implementation would be
legitimate for Vectors - although I'm not certain). That probably means that
Constant_Reference would have to increase the reference count when it is
created and decrease it when it is destroyed (specifically the reason why
these return record types with discriminants rather than just a bare access
value). If that's done, his original example is fine.
I'm pretty sure reference counting will work as an implementation using
generalized indexing, but it is pretty complicated (as it always is). But I
haven't actually tried this in practice, so I could be wrong...
Randy.
next prev parent reply other threads:[~2012-05-08 1:14 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-05 12:55 Problem in "X (1).Re := X (1).Re + 1" ytomino
2012-05-07 15:37 ` Adam Beneschan
2012-05-07 18:53 ` ytomino
2012-05-07 21:28 ` Adam Beneschan
2012-05-08 1:14 ` Randy Brukardt [this message]
2012-05-08 17:14 ` Adam Beneschan
2012-05-08 22:29 ` Randy Brukardt
2012-05-09 8:41 ` ytomino
2012-05-10 0:52 ` Randy Brukardt
2012-05-10 5:23 ` ytomino
2012-05-09 9:29 ` ytomino
2012-05-10 0:58 ` Randy Brukardt
2012-05-10 4:26 ` ytomino
2012-05-15 6:09 ` Randy Brukardt
2012-05-15 20:17 ` ytomino
2012-05-16 0:01 ` Randy Brukardt
2012-05-15 22:12 ` Simon Wright
2012-05-16 7:14 ` Dmitry A. Kazakov
2012-05-09 8:05 ` ytomino
2012-05-09 11:03 ` ytomino
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox