digitalmars.D - Multiple alias for multiple functions?
- Borislav Kosharov (21/21) Aug 08 2013 I want to make a simple Vector struct class:
- anonymous (10/32) Aug 08 2013 template data(int i) {
I want to make a simple Vector struct class:
struct Vector {
alias _data this;
alias data!0 x, width;
alias data!1 y, height;
private:
property float data(int i)() {
return _data[i];
}
property void data(int i)(float value) {
_data[i] = value;
}
float[2] _data;
}
But I get two similar errors:
Vector.data matches more than one template declaration,
vector.d(9):data(int i)() and vector.d(13):data(int i)(float
value)
I see that it might cause problems to have ambiguous aliases, but
does anyone know how I might implement this? Should I remove the
struct and just make property x for float[2] and the others?
Aug 08 2013
On Thursday, 8 August 2013 at 20:14:58 UTC, Borislav Kosharov
wrote:
I want to make a simple Vector struct class:
struct Vector {
alias _data this;
alias data!0 x, width;
alias data!1 y, height;
private:
property float data(int i)() {
return _data[i];
}
property void data(int i)(float value) {
_data[i] = value;
}
float[2] _data;
}
But I get two similar errors:
Vector.data matches more than one template declaration,
vector.d(9):data(int i)() and vector.d(13):data(int i)(float
value)
I see that it might cause problems to have ambiguous aliases,
but does anyone know how I might implement this? Should I
remove the struct and just make property x for float[2] and
the others?
template data(int i) {
property float data() {
return _data[i];
}
property void data(float value) {
_data[i] = value;
}
}
Aug 08 2013








"anonymous" <anonymous example.com>