Thanks Steven and Daniel for your explanations.
mixin template opAssign(alias Field) {
void opAssign(Tin)(auto ref Tin param) @property pure
@safe
{
Field = param;
m_matrixCalculated = false;
}
}
mixin opAssign!(m_pos) pos;
I tested both the "string mixin" and "opAssign" implementations,
and they work like a charm.
I would have never thought of using both @property and
"opAssign", but it looks like a secure way of doing it for the
compilation fails nicely if I type a wrong field in.
src/camera.d(58): Error: undefined identifier m_os, did you mean
variable m_pos?