On Mon, 12 Sep 2011 10:10:35 -0400, Simen Kjaeraas
<simen.kja...@gmail.com> wrote:
On Mon, 12 Sep 2011 00:11:11 +0200, Timon Gehr <timon.g...@gmx.ch> wrote:
I think the fact that "in" for AAs returns a pointer is a mistake and
ugly in the first place and any generic code that relies on any
container to return a raw internal pointer is flawed by itself imho.
If D had a Nullable struct, that would likely be a much better return
type for 'in'. The thing is, we do have a nullable!T type: T*.
This is simply a case of having a wrench and needing a hammer.
No, the advantage of using a pointer is, you can change the value without
incurring another lookup. A nullable struct does not have that advantage.
I think the correct return type for that should be a cursor (i.e. a
single-element range which can be used to refer to that element at a later
time). This allows even more functionality, such as removing the element,
or referring to both the key and value.
-Steve