On Sunday, 27 April 2014 at 00:48:53 UTC, Ali Çehreli wrote:
I think the following is a start: import std.variant; class MyClass { Variant[string] store; void attach(T)(string key, ref T var) { store[key] = &var; } void set(T)(string key, T value) { *store[key].get!(T*) = value; } T get(T)(string key) { return *store[key].get!(T*)(); } } void main() { int sample = 42; auto myObj = new MyClass; myObj.attach("othername", sample); myObj.set("othername", 69); assert(myObj.get!int("othername") == 69); assert(sample == 69); } Ali
Much obliged. Just working on preventing type errors, now. I'll let you know how it goes