On Friday, 8 November 2013 at 04:28:31 UTC, Ross Hays wrote:
class Vector(int N, T) if (N <= 3) {
T[N] data;
this()
{
data[] = 0;
}
@property ref T opDispatch(string fieldName, Args ...)(Args
args)
if (Args.length < 2 && fieldName.length == 1 &&
toOffset(fieldName) < N)
{
int offset = fieldName[0 .. 1] - 'x';
if (args.length != 0)
return data[offset];
else
return data[offset] = args[0];
}
}
Same error.
Sorry, I forgot to mention in that post that you have "toOffset"
in your template constraint, which means it will also never
match. You'll have to define it or replace it with `fieldName[0]
- 'x';`
Also, you might not want to do `fieldName[0 .. 1]` because that's
a slice (which is just another array of length 1). It won't do
what you're expecting.