Collections question

Timon Gehr via Digitalmars-d digitalmars-d at puremagic.com
Sat Nov 28 04:20:35 PST 2015


On 11/27/2015 09:14 PM, Andrei Alexandrescu wrote:
> There's this oddity of built-in hash tables: a reference to a non-empty
> hash table can be copied and then both references refer to the same hash
> table object. However, if the hash table is null, copying the reference
> won't track the same object later on.
>
> Fast-forward to general collections. If we want to support things like
> reference containers, clearly that oddity must be addressed. There are
> two typical approaches:
>
> 1. Factory function:
>...
>
> 2. The opCall trick:
>...
>

3. (Non-internal) factory function:

auto c1 = myCollection(1,2,3);
auto c2 = myCollection!int();
auto c3 = c2; // refers to the same collection as c2


More information about the Digitalmars-d mailing list