summaryrefslogtreecommitdiff
path: root/indra/llcommon/llinstancetracker.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcommon/llinstancetracker.h')
-rw-r--r--indra/llcommon/llinstancetracker.h16
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;