digitalmars.D.learn - Singleton, alias to self?
- Vladde Nordholm (11/11) Feb 14 2016 I'm not sure of how to use alias efficiently, so I want to know
- Guillaume Piolat (6/17) Feb 14 2016 The "alias newThing = x;" syntax is not allowed with alias this.
- Guillaume Piolat (4/24) Feb 14 2016 I've tried and fail to do what you want, even with a templated
- tcak (6/17) Feb 14 2016 "this" is for an instance of class (or struct). There is no
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
Feb 14 2016
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, vladdeThe "alias newThing = x;" syntax is not allowed with alias this. It's the only exception. You have to use alias getSingleton this;
Feb 14 2016
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've tried and fail to do what you want, even with a templated class + eponymous trick.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, vladdeThe "alias newThing = x;" syntax is not allowed with alias this. It's the only exception. You have to use alias getSingleton this;
Feb 14 2016
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.
Feb 14 2016