Enum member propertySemantics
Tells you what property semantics a symbol has
enum propertySemantics(alias sym)
= PropertySemantics .rw;
Returns
The PropertySemantics
of the symbol
Example
static assert(propertySemantics!localRead == PropertySemantics .r);
static assert(propertySemantics!localWrite == PropertySemantics .w);
static assert(propertySemantics!localReadWrite == PropertySemantics .rw);
struct S {
int m;
@property int rp() { return m; }
@property void wp(int) {}
@property int rwp() { return m; }
@property void rwp(int) {}
}
static assert(!__traits(compiles, propertySemantics!(S .na)));
static assert(!__traits(compiles, propertySemantics!(S .m)));
static assert(propertySemantics!(S .rp) == PropertySemantics .r);
static assert(propertySemantics!(S .wp) == PropertySemantics .w);
static assert(propertySemantics!(S .rwp) == PropertySemantics .rw);