From 0c93fbc330364cde698a33f1c10778c2c0e51fa6 Mon Sep 17 00:00:00 2001 From: Christian Mazakas Date: Mon, 13 Feb 2023 09:10:21 -0800 Subject: [PATCH] Make typedef private and rename it so older versions of msvc don't erroneously treat the typedef like it's in scope when doing template instantiation --- include/boost/unordered/detail/foa/node_handle.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/boost/unordered/detail/foa/node_handle.hpp b/include/boost/unordered/detail/foa/node_handle.hpp index 67e5fc33..2a238212 100644 --- a/include/boost/unordered/detail/foa/node_handle.hpp +++ b/include/boost/unordered/detail/foa/node_handle.hpp @@ -38,24 +38,24 @@ struct node_handle_base { protected: using type_policy=TypePolicy; - using value_type=typename type_policy::value_type; using element_type=typename type_policy::element_type; public: using allocator_type = Allocator; private: - value_type* p_=nullptr; + using node_value_type=typename type_policy::value_type; + node_value_type* p_=nullptr; BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS opt_storage a_; protected: - value_type& element()noexcept + node_value_type& element()noexcept { BOOST_ASSERT(!empty()); return *p_; } - value_type const& element()const noexcept + node_value_type const& element()const noexcept { BOOST_ASSERT(!empty()); return *p_; @@ -73,7 +73,7 @@ struct node_handle_base return a_.t_; } - void emplace(value_type* p,Allocator a) + void emplace(node_value_type* p,Allocator a) { BOOST_ASSERT(empty()); p_=p; @@ -158,7 +158,7 @@ struct node_handle_base if (!empty()&&!nh.empty()){ BOOST_ASSERT(pocs || al()==nh.al()); - value_type *p=p_; + node_value_type *p=p_; p_=nh.p_; nh.p_=p;