Hello,
I have a class "A" and I'd like to keep a list of all the created instances of
this class. To do that, I have a static List!(A) in the A class and, in the
constructor, I add each new instance to this list. This gives me the following
code:
class A {
private static List!(A) s_instances;
public this() {
s_instances.add(this);
}
public ~this() {
s_instances.remove(this);
}
public static void printAll() {
foreach (A instance; s_instances)
print(instance.toString());
}
}
But then, since all the instances are referenced by the static list, they are
never garbage-collected, which could be a problem. In some other languages,
this can be solved using weak references, but I haven't found any informations
about using weak references in D. Is there any way to solve this problem?
Thanks,
Simon