Commit Graph

8 Commits (bea2dfbc22bb2d80755dcf9daf810e1ea0329c2d)

Author SHA1 Message Date
Nat Goodspeed b4a1d339fc STORM-1541: Add LLInstanceTracker tests for active-iterator asserts.
The recent class-static LLInstanceTracker::instance_iter and key_iter
reference count is intended to guard against deleting an instance of an
LLInstanceTracker subclass during iteration. Add tests for that functionality.
2011-09-07 17:29:08 -04:00
Nat Goodspeed bf906ac926 Re-add 3 llinstancetracker tests disabled by changeset 1ead63777bf6.
Fix LLInstanceTracker::key_iter constructor param; accepting
InstanceMap::iterator by non-const reference relied on Microsoft extension
that accepts non-const reference to an rvalue. Given typical iterator
implementation, simply accept by value instead, which makes gcc happy too.
2011-08-24 09:08:42 -04:00
Richard Nelson 5c8f22c640 fix for gcc 2011-07-27 15:34:58 -07:00
Richard Nelson 75d2382dc3 fixed build 2011-07-26 18:54:07 -07:00
Richard Nelson df82fbffa2 removed last vestiges of llinstancetracerscopedguard 2011-07-26 14:35:54 -07:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Tofu Linden a4d224ff93 EXT-5055 LLInstanceTracker promotes some dangerous patterns - detect them 2010-02-06 21:38:57 +00:00
Nat Goodspeed a97aebb84a Enhance LLInstanceTracker variants to be more uniform.
For both the (so far unused) generic KEY form and the KEY = T* form, provide
key_iter, beginKeys(), endKeys().
Change instance_iter so that when dereferenced, it gives you a T& rather than
a T*, to be more harmonious with a typical STL container. (You parameterize
LLInstanceTracker with T, not with T*.)
Fix existing usage in llfasttimer.cpp and lltimer.cpp to agree.
For the KEY = T* specialization, add T* getInstance(T*) so client isn't forced
to know which variant was used.
Add unit tests for uniformity of public operations on both variants.
2009-11-10 13:30:29 -05:00