Re-introduce the non const overloads of begin and end for unordered_set and

unordered_multiset. I thought the proposed resolution for issue 528 allowed
them to be removed, but re-reading it, it only allows signatures that are
'otherwise indistinguishable', and they are not.


[SVN r2923]
This commit is contained in:
Daniel James 2006-04-17 11:06:08 +00:00
parent c243c3d5c1
commit 1cbb7f6e57

View File

@ -129,11 +129,21 @@ namespace boost
// iterators // iterators
iterator begin()
{
return iterator(base.begin());
}
const_iterator begin() const const_iterator begin() const
{ {
return const_iterator(base.begin()); return const_iterator(base.begin());
} }
iterator end()
{
return iterator(base.end());
}
const_iterator end() const const_iterator end() const
{ {
return const_iterator(base.end()); return const_iterator(base.end());
@ -236,16 +246,27 @@ namespace boost
return base.bucket(k); return base.bucket(k);
} }
const_local_iterator begin(size_type n) const local_iterator begin(size_type n)
{ {
return local_iterator(base.begin(n)); return local_iterator(base.begin(n));
} }
const_local_iterator begin(size_type n) const
{
return const_local_iterator(base.begin(n));
}
local_iterator end(size_type n)
{
return local_iterator(base.end(n));
}
const_local_iterator end(size_type n) const const_local_iterator end(size_type n) const
{ {
return const_local_iterator(base.end(n)); return const_local_iterator(base.end(n));
} }
// hash policy // hash policy
float load_factor() const float load_factor() const
@ -377,11 +398,21 @@ namespace boost
// iterators // iterators
iterator begin()
{
return iterator(base.begin());
}
const_iterator begin() const const_iterator begin() const
{ {
return const_iterator(base.begin()); return const_iterator(base.begin());
} }
iterator end()
{
return iterator(base.end());
}
const_iterator end() const const_iterator end() const
{ {
return const_iterator(base.end()); return const_iterator(base.end());
@ -483,11 +514,21 @@ namespace boost
return base.bucket(k); return base.bucket(k);
} }
local_iterator begin(size_type n)
{
return local_iterator(base.begin(n));
}
const_local_iterator begin(size_type n) const const_local_iterator begin(size_type n) const
{ {
return const_local_iterator(base.begin(n)); return const_local_iterator(base.begin(n));
} }
local_iterator end(size_type n)
{
return local_iterator(base.end(n));
}
const_local_iterator end(size_type n) const const_local_iterator end(size_type n) const
{ {
return const_local_iterator(base.end(n)); return const_local_iterator(base.end(n));