UDA syntax
Era Scarecrow
rtcvb32 at yahoo.com
Wed Jan 16 23:20:02 PST 2013
On Thursday, 17 January 2013 at 06:55:57 UTC, Ali Çehreli wrote:
> On 01/16/2013 09:45 PM, Era Scarecrow wrote:
>
>> (Do they have to be structs?) If they don't and you add code,
>> can that code help/add or modify the attributed object (or can
>> it at all?).
>
> It looks like some mixin magic can be used.
Hmm a good example would help.
>> Do the structs have to be empty?
>
> They can have members. getAttributes preserves the types and
> values of the attributes. It returns a tuple.
>
> With the warning that I don't have any experience with
> attributes, the following program uses an attribute type that
> has a member to indicate the number of times that a variable
> must be serialized. (Stupid idea. :))
Actually it does show quite a bit of how to make it useful (even
if it's in a silly way); But it isn't adding anything to S
directly and only during compile-time does it have any promise of
use; Which is enough by itself if need be.
Having arguments you can put into the struct does mean it can be
useful in other ways, including perhaps having methods where it
can do calculations for you on the side since it's CTFE.
I suppose next we need a section that describes how to convert
one piece of code to use UDA's, the thought process behind it and
how it's more useful that way.
Oh yes, do UDA's only work on types? or do they work on
functions/methods/delegates too? If you have it on a function how
could that be useful?
I get the feeling the UDA will be a good topic at DConf, and an
article to be added to dlang.
More information about the Digitalmars-d-learn
mailing list