JUCE is starting to show signs of age. The containers are not compatible with standard algorithms, etc… and now we have juce::String which has less than useful function signatures:
int hashCode() const noexcept; int64 hashCode64() const noexcept;
When what we really want is std::size_t hash() since that’s universally recognized as the return type for hash functions used in std::unordered_map. But creating a std::size_t from a juce::String::hashCode variant is quite a difficult task.