Pseudo namespaces
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Thu Dec 3 14:14:56 PST 2015
On Thursday, 3 December 2015 at 21:29:51 UTC, Andrei Alexandrescu
wrote:
> On 12/03/2015 04:05 PM, FreeSlave wrote:
>> I don't understand how it is namespace (it's just named scope
>> for me)
>> and why do we need template for that? Probably struct with
>> static
>> members would work the same without need for instantiating the
>> template.
>
> How would one use a struct for the List example? There's no
> access to "this". Yes, it's a named scope.
You declare static functions on a struct or class and then make
the struct or class unusable as an object (e.g. by having a final
abstract class or explicitly disabling all ways to construct the
struct or class). There are at least a couple of places in Phobos
that do that already (e.g. std.windows.registry.Registry and
std.datetime.Clock both use final classes with an @disabled
default constructor).
- Jonathan M Davis
More information about the Digitalmars-d
mailing list