www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Blog Post #0105: D-specific Stuff for GUI Programming

reply Ron Tarrant <rontarrant gmail.com> writes:
Today starts a new series I'm calling Snippets and it's about 
various D-specific stuff that may come in handy when building a 
GUI. You can find it right here: 
https://gtkdcoding.com/2020/03/23/0105-dlang-ui-snippets-i.html
Mar 23
next sibling parent drug <drug2004 bk.ru> writes:
On 3/23/20 1:02 PM, Ron Tarrant wrote:
 Today starts a new series I'm calling Snippets and it's about various 
 D-specific stuff that may come in handy when building a GUI. You can 
 find it right here: 
 https://gtkdcoding.com/2020/03/23/0105-dlang-ui-snippets-i.html
Thank you for you efforts! I'm waiting for your post about Observer.
Mar 23
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On Monday, 23 March 2020 at 10:02:48 UTC, Ron Tarrant wrote:
 Today starts a new series I'm calling Snippets and it's about 
 various D-specific stuff that may come in handy when building a 
 GUI. You can find it right here: 
 https://gtkdcoding.com/2020/03/23/0105-dlang-ui-snippets-i.html
If it's enough with CTFE compatible code in the constructor, the following is a much simpler version: class DSingleton { private __gshared DSingleton instance = new DSingleton; DSingleton get() { return instance; } } -- /Jacob Carlborg
Mar 23
parent reply Jacob Carlborg <doob me.com> writes:
On Monday, 23 March 2020 at 10:26:33 UTC, Jacob Carlborg wrote:

 If it's enough with CTFE compatible code in the constructor, 
 the following is a much simpler version:

 class DSingleton
 {
     private __gshared DSingleton instance = new DSingleton;

     DSingleton get()
     {
         return instance;
     }
 }
Or if an immutable instance work, the getter is not necessary and the instance can be exposed directly. class DSingleton { immutable DSingleton instance = new DSingleton; } -- /Jacob Carlborg
Mar 23
parent reply Jacob Carlborg <doob me.com> writes:
On Monday, 23 March 2020 at 10:41:43 UTC, Jacob Carlborg wrote:

 class DSingleton
 {
     immutable DSingleton instance = new DSingleton;
 }
Should of course be `static`: class DSingleton { static immutable DSingleton instance = new DSingleton; } -- /Jacob Carlborg
Mar 23
parent Ron Tarrant <rontarrant gmail.com> writes:
On Monday, 23 March 2020 at 10:45:24 UTC, Jacob Carlborg wrote:
 On Monday, 23 March 2020 at 10:41:43 UTC, Jacob Carlborg wrote:

 class DSingleton
 {
     immutable DSingleton instance = new DSingleton;
 }
Should of course be `static`: class DSingleton { static immutable DSingleton instance = new DSingleton; } -- /Jacob Carlborg
Cool. Thanks, Jacob. I can't take credit for the Singleton code, though. I stole it from here: https://wiki.dlang.org/Low-Lock_Singleton_Pattern
Mar 23