diff options
| author | Merov Linden <merov@lindenlab.com> | 2011-08-02 15:07:35 -0700 |
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2011-08-02 15:07:35 -0700 |
| commit | 0b81c19cbe809f041e628da334c305ea33fae2e9 (patch) | |
| tree | 57a870cb47928bb996c33d2111a0f49c3f28b31f /indra/llcommon/llinstancetracker.h | |
| parent | 8d081d34fc56fd1b742045dd120b6acbda0d027e (diff) | |
| parent | 6d9158dcaddfe486d91a514c9df92c155f655397 (diff) | |
Pull from richard/viewer-experience
Diffstat (limited to 'indra/llcommon/llinstancetracker.h')
| -rw-r--r-- | indra/llcommon/llinstancetracker.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/indra/llcommon/llinstancetracker.h b/indra/llcommon/llinstancetracker.h index 47041f790f..b4891eba67 100644 --- a/indra/llcommon/llinstancetracker.h +++ b/indra/llcommon/llinstancetracker.h @@ -56,7 +56,9 @@ public: class instance_iter : public boost::iterator_facade<instance_iter, T, boost::forward_traversal_tag> { public: - instance_iter(typename InstanceMap::iterator& it) + typedef boost::iterator_facade<instance_iter, T, boost::forward_traversal_tag> super_t; + + instance_iter(const typename InstanceMap::iterator& it) : mIterator(it) { ++sIterationNestDepth; @@ -67,6 +69,7 @@ public: --sIterationNestDepth; } + private: friend class boost::iterator_core_access; @@ -87,17 +90,26 @@ public: class key_iter : public boost::iterator_facade<key_iter, KEY, boost::forward_traversal_tag> { public: + typedef boost::iterator_facade<key_iter, KEY, boost::forward_traversal_tag> super_t; + key_iter(typename InstanceMap::iterator& it) : mIterator(it) { ++sIterationNestDepth; } + key_iter(const key_iter& other) + : mIterator(other.mIterator) + { + ++sIterationNestDepth; + } + ~key_iter() { --sIterationNestDepth; } + private: friend class boost::iterator_core_access; @@ -198,7 +210,7 @@ public: class instance_iter : public boost::iterator_facade<instance_iter, T, boost::forward_traversal_tag> { public: - instance_iter(typename InstanceSet::iterator& it) + instance_iter(const typename InstanceSet::iterator& it) : mIterator(it) { ++sIterationNestDepth; |
