diff --git a/parallel_hashmap/phmap.h b/parallel_hashmap/phmap.h index 880938b..1e57971 100644 --- a/parallel_hashmap/phmap.h +++ b/parallel_hashmap/phmap.h @@ -244,7 +244,7 @@ static_assert(kEmpty == -128, "existence efficient (psignb xmm, xmm)"); static_assert(~kEmpty & ~kDeleted & kSentinel & 0x7F, "kEmpty and kDeleted must share an unset bit that is not shared " - "by kSentinel to make the scalar test for MatchEmptyOrDeleted() " + "by kSentinel to make the scalar test for MatchEmptyOrDceleted() " "efficient"); static_assert(kDeleted == -2, "kDeleted must be -2 to make the implementation of " @@ -3222,7 +3222,7 @@ private: } protected: - template + template iterator find(const key_arg& key, size_t hashval, L &mutexlock) { Inner& inner = sets_[subidx(hashval)]; auto& set = inner.set_; @@ -3426,16 +3426,14 @@ public: template bool if_contains(const key_arg& key, F&& f) const { - return const_cast(this)->if_modify_impl(key, std::forward(f)); + return const_cast(this)->template modify_if_impl(key, std::forward(f)); } template bool modify_if(const key_arg& key, F&& f) { - return modify_if_impl(key, std::forward(f)); + return modify_if_impl(key, std::forward(f)); } - - template MappedReference

operator[](key_arg&& key) { return Policy::value(&*try_emplace(std::forward(key)).first); @@ -3453,7 +3451,7 @@ private: static_assert(std::is_invocable::value); #endif L m; - auto it = find(key, this->hash(key), m); + auto it = this->template find(key, this->hash(key), m); if (it == this->end()) return false; std::forward(f)(Policy::value(&*it));