diff --git a/include/boost/unordered/unordered_map.hpp b/include/boost/unordered/unordered_map.hpp index 261fc943..3535fc7e 100644 --- a/include/boost/unordered/unordered_map.hpp +++ b/include/boost/unordered/unordered_map.hpp @@ -761,7 +761,17 @@ namespace boost { typename boost::enable_if_c::value && detail::is_transparent::value, size_type>::type - count(const Key&) const; + count(const Key& k) const + { + std::size_t const key_hash = + table::policy::apply_hash(this->hash_function(), k); + + P const& eq = this->key_eq(); + + node_pointer p = table_.find_node_impl(key_hash, k, eq); + + return (p ? 1 : 0); + } std::pair equal_range(const key_type&); std::pair equal_range( @@ -1843,23 +1853,6 @@ namespace boost { return table_.find_node(k) ? 1 : 0; } - template - template - typename boost::enable_if_c::value && - detail::is_transparent::value, - typename unordered_map::size_type>::type - unordered_map::count(const Key& k) const - { - std::size_t const key_hash = - table::policy::apply_hash(this->hash_function(), k); - - P const& eq = this->key_eq(); - - node_pointer p = table_.find_node_impl(key_hash, k, eq); - - return (p ? 1 : 0); - } - template std::pair::iterator, typename unordered_map::iterator>