UDP enhancement
Timon Gehr
timon.gehr at gmx.ch
Sun Jun 30 18:47:34 PDT 2013
On 07/01/2013 03:22 AM, JS wrote:
> struct Foo
> {
> @property int data() { return m_data; } // read property
> @property int data(int value) { return m_data = value; } // write
> property
> private: int m_data;
> }
>
> It would be nice if properties had an internal variable to use instead
> of having to declare it explicitly:
>
>
> struct Foo
> {
> @property int data() { return data.value; } // read property
> @property int data(int value) { return data.value; } // write property
> }
>
> This reduces code complexity. If a property does not use the internal
> variable(which I signify by .value) then it does not add any storage.
> This allows one to easily wrap fields into properties without having to
> create private fields for each property unless needed.
struct S{
T value;
}
struct T{
S get(){ return S(this); }
alias get this;
}
struct Foo{
@property S data(){ return data.value; }
}
More information about the Digitalmars-d
mailing list