std.uuid is ready for review

Tobias Pankrath tobias at pankrath.net
Fri Feb 10 15:26:07 PST 2012


Jonathan M Davis wrote:

> On Friday, February 10, 2012 16:36:48 Robert Jacques wrote:
>> These functions are _constructors_; ideally, they should be expressed as
>> such. In a managed language, we'd probably for with UUID("random",...).
>> And if explicit template ctors were valid syntax, we'd used
>> UUID!"random"(...) or UUID!Mt19937() or UUID!randomNumberBased or
>> something. There's also the enum/aliases, i.e. UUID(UUID.random) or
>> UUID(Enum!"random") or UUID(UUID.Version.randomNumberBased). And at least
>> for random, overloading works decently well, i.e. UUID(mySeed) or
>> UUID(Mt19937(unpredictableSeed)). My point, or lack thereof, was to
>> brainstorm ways of expressing a large variety of construction routines
>> _as_ actual constructors.
> 
> A factory function is vastly better than any of those suggestions IMHO. I
> see no problem with having randomUUID as a free function, and I really
> think that it's best as-is.
> 
> - Jonathan M Davis
randomUuid it should be.


More information about the Digitalmars-d mailing list