std.mixins

dsimcha dsimcha at yahoo.com
Mon Aug 30 20:43:51 PDT 2010


== Quote from Andrei Alexandrescu (SeeWebsiteForEmail at erdani.org)'s article
> On 8/30/10 20:04 PDT, dsimcha wrote:
> > I've been toying for a long time with the idea of a std.mixins for Phobos that
> > would contain meta-implementations of commonly needed boilerplate code for
> > mixing into classes and and structs.  I've started to prototype it
> > (http://dsource.org/projects/scrapple/browser/trunk/std_mixins/std_mixins.d).
> >   So far I have a mixin for struct comparisons, which is useful if you need a
> > total ordering for use with sorting or binary trees, but don't care exactly
> > how that ordering is defined.  I've also got a mixin that converts a class to
> > a Singleton, and uses thread-safe but efficient mechanisms to deal with the
> > __gshared singleton case.
> Upon a second look I think the Singleton implementation is not up to
> snuff and reflects a common misunderstanding of the pattern.
> The point of the Singleton is that you can instantiate it with a derived
> class. Otherwise, it's the less interesting Monostate pattern. The code
> as is right now uses hardcoded calls to new, and it shouldn't.
> Andrei

Interersting.  The Wikipedia examples don't seem to allow this.  Can you
elaborate?  How would the class know when to use which derived class?


More information about the Digitalmars-d mailing list