Sets / associative arrays with void values?
Jeff M
jeff at jeffrules.com
Sat Jan 6 17:41:41 PST 2007
On 2007-01-06 16:05:06 -0800, "Vladimir Panteleev"
<tehcybershadow at gmail.com> said:
> I've been wondering whether D supported sets, or something similar.
> What I have in mind isn't unlike associative arrays, but without
> values: an unordered list with quick look-up and simple
> addition/removal of elements, yet still capable of enumeration, etc.
>
> I followed my intuition and tried to declare an associative array with
> a "void" value type:
>
> void[int] foo;
>
> To my surprise, it compiled. And even the "in" operation and the .keys
> and .values properties worked fine (or as fine as they can work with
> an empty associative array).
>
> Of course, the question comes: how would one add keys to such a
> construct? The practical answer is obvious: use a real "dummy" data
> type (bit, for example) as the value type, but I find it a shame that
> declaring such constructs is allowed - yet you can't really use them.
It would be nice if a "void[int]" array was usable. Associative arrays
are create-on-access, so "foo[5];" should be a legal for creating an
index in the array, but this throws an error.
-- Jeff
More information about the Digitalmars-d
mailing list