Getters/setters generator
jmh530 via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Tue Jun 13 14:49:53 PDT 2017
On Tuesday, 13 June 2017 at 20:45:34 UTC, jmh530 wrote:
>
> Fair point. I just was playing around with it today and was
> like, oh that's pretty easy. It was only when I was trying to
> see if anyone else had done anything like this that I came
> across your project.
I was just looking at the code in the package. There was an
earlier discussion on predicates. If you changed the
Read/RefRead/etc structs to be something like below, then the
user could add in a string of the assert. It's not really all
that elegant, but I think you should be able to get it to work.
struct Read
{
string visibility = "public";
string constraint = void;
}
My ideal was to get something working where the lower and upper
bounds were actual values, so you didn't have to pass the string,
but I can see how that gets complicated. One problem I ran into
is that you can't really make a struct templated in an optional
way. For instance, the following won't compile (ignoring the
complexity of making the asserts > or >=):
struct Read(T = void)
{
string visibility = "public";
static if (!is(T == void)) {
T lower;
T upper;
}
}
void main()
{
Read read;
}
More information about the Digitalmars-d-announce
mailing list