diff --git a/include/boost/unordered/detail/foa/concurrent_table.hpp b/include/boost/unordered/detail/foa/concurrent_table.hpp index fc0b51e2..ad88b8eb 100644 --- a/include/boost/unordered/detail/foa/concurrent_table.hpp +++ b/include/boost/unordered/detail/foa/concurrent_table.hpp @@ -295,8 +295,7 @@ public: BOOST_FORCEINLINE bool try_emplace_or_visit(Key&& x,F f,Args&&... args) { return emplace_or_visit_impl( - std::forward(f), - try_emplace_args_t{},std::forward(x),std::forward(args)...); + f,try_emplace_args_t{},std::forward(x),std::forward(args)...); } template @@ -308,27 +307,26 @@ public: template BOOST_FORCEINLINE bool emplace_or_visit(F f,Args&&... args) { - return construct_and_emplace_or_visit( - std::forward(f),std::forward(args)...); + return construct_and_emplace_or_visit(f,std::forward(args)...); } template BOOST_FORCEINLINE bool insert_or_visit(const init_type& x,F f) - {return emplace_or_visit_impl(std::forward(f),x);} + {return emplace_or_visit_impl(f,x);} template BOOST_FORCEINLINE bool insert_or_visit(init_type&& x,F f) - {return emplace_or_visit_impl(std::forward(f),std::move(x));} + {return emplace_or_visit_impl(f,std::move(x));} /* typename=void tilts call ambiguities in favor of init_type */ template BOOST_FORCEINLINE bool insert_or_visit(const value_type& x,F f) - {return emplace_or_visit_impl(std::forward(f),x);} + {return emplace_or_visit_impl(f,x);} template BOOST_FORCEINLINE bool insert_or_visit(value_type&& x,F f) - {return emplace_or_visit_impl(std::forward(f),std::move(x));} + {return emplace_or_visit_impl(f,std::move(x));} template BOOST_FORCEINLINE std::size_t erase_if(Key&& x,F f) @@ -462,7 +460,7 @@ private: { return unprotected_internal_visit( x,pos0,hash, - [&,this](group_type*,unsigned int,element_type* p) + [&](group_type*,unsigned int,element_type* p) {f(type_policy::value_from(*p));}); }