- RefPtr(): data(0), count(0) { }
- RefPtr(T *d): data(d), count(data ? new unsigned(1) : 0) { }
+ RefPtr(): data(0), counts(0) { }
+ RefPtr(T *d): data(d), counts(data ? new RefCounts : 0) { incref(); }
+private:
+ RefPtr(T *d, RefCounts *c): data(d), counts(d ? c : 0) { incref(); }