made boost::unordered_[multi](map|set)::[const_][local_]iterator instantiable with incomplete value_type (#321)

* made boost::unordered_[multi](map|set)::[const_][local_]iterator instantiable with incomplete value_type
* qualified name to avoid self-definition
This commit is contained in:
joaquintides
2025-10-12 13:14:16 +02:00
committed by GitHub
parent 4b76ac84ec
commit 09d6416755
5 changed files with 159 additions and 35 deletions
@@ -969,7 +969,7 @@ namespace boost {
template <class Node, class Bucket> class iterator
{
public:
typedef typename Node::value_type value_type;
typedef typename detail::node_value_type<Node> value_type;
typedef value_type element_type;
typedef value_type* pointer;
typedef value_type& reference;
@@ -1023,7 +1023,7 @@ namespace boost {
}
private:
typedef typename Node::node_pointer node_pointer;
typedef detail::node_pointer<Node> node_pointer;
typedef grouped_bucket_iterator<Bucket> bucket_iterator;
node_pointer p;
@@ -1076,7 +1076,7 @@ namespace boost {
template <class Node, class Bucket> class c_iterator
{
public:
typedef typename Node::value_type value_type;
typedef typename detail::node_value_type<Node> value_type;
typedef value_type const element_type;
typedef value_type const* pointer;
typedef value_type const& reference;
@@ -1131,7 +1131,7 @@ namespace boost {
}
private:
typedef typename Node::node_pointer node_pointer;
typedef detail::node_pointer<Node> node_pointer;
typedef grouped_bucket_iterator<Bucket> bucket_iterator;
node_pointer p;