diff --git a/indra/llcommon/llinstancetracker.h b/indra/llcommon/llinstancetracker.h index ecaf55586..3c096abe1 100644 --- a/indra/llcommon/llinstancetracker.h +++ b/indra/llcommon/llinstancetracker.h @@ -86,6 +86,7 @@ class LLInstanceTracker : public LLInstanceTrackerBase { typedef LLInstanceTracker MyT; typedef typename std::map InstanceMap; + typedef typename InstanceMap::iterator::difference_type difference_type; struct StaticData: public StaticBase { InstanceMap sMap; @@ -115,6 +116,11 @@ public: friend class boost::iterator_core_access; void increment() { mIterator++; } + void decrement() { --mIterator; } + difference_type distance_to(instance_iter const& other) const + { + return std::distance(mIterator, other.mIterator); + } bool equal(instance_iter const& other) const { return mIterator == other.mIterator; @@ -155,6 +161,11 @@ public: friend class boost::iterator_core_access; void increment() { mIterator++; } + void decrement() { --mIterator; } + difference_type distance_to(instance_iter const& other) const + { + return std::distance(mIterator, other.mIterator); + } bool equal(key_iter const& other) const { return mIterator == other.mIterator;