Re: Singleton, alias to self?

2016-02-14 Thread tcak via Digitalmars-d-learn
On Sunday, 14 February 2016 at 12:56:51 UTC, Vladde Nordholm 
wrote:
I'm not sure of how to use alias efficiently, so I want to know 
if I could somehow do this (psuedo-code)


class Singleton
{
  //So instead of calling `Singleton.getSingleton()` you just 
call `Singleton`

  alias this = getSingleon()

  //code for singleton...
}

Thanks in advance,
vladde


"this" is for an instance of class (or struct). There is no 
instance of define an alias at that time. I am not sure, but you 
can check "opCall" function as static for this. Give it a try at 
least.


Re: Singleton, alias to self?

2016-02-14 Thread Guillaume Piolat via Digitalmars-d-learn
On Sunday, 14 February 2016 at 13:23:28 UTC, Guillaume Piolat 
wrote:
On Sunday, 14 February 2016 at 12:56:51 UTC, Vladde Nordholm 
wrote:
I'm not sure of how to use alias efficiently, so I want to 
know if I could somehow do this (psuedo-code)


class Singleton
{
  //So instead of calling `Singleton.getSingleton()` you just 
call `Singleton`

  alias this = getSingleon()

  //code for singleton...
}

Thanks in advance,
vladde


The "alias newThing = x;" syntax is not allowed with alias 
this. It's the only exception.


You have to use

alias getSingleton this;


I've tried and fail to do what you want, even with a templated 
class + eponymous trick.


Re: Singleton, alias to self?

2016-02-14 Thread Guillaume Piolat via Digitalmars-d-learn
On Sunday, 14 February 2016 at 12:56:51 UTC, Vladde Nordholm 
wrote:
I'm not sure of how to use alias efficiently, so I want to know 
if I could somehow do this (psuedo-code)


class Singleton
{
  //So instead of calling `Singleton.getSingleton()` you just 
call `Singleton`

  alias this = getSingleon()

  //code for singleton...
}

Thanks in advance,
vladde


The "alias newThing = x;" syntax is not allowed with alias this. 
It's the only exception.


You have to use

alias getSingleton this;