I'm working with some C++14 code. A library we're using has its own partial port of C++17's std::string_view, but without a corresponding specialization of std::hash.
I assumed that the standard contained no hash function that I could use, aside from std::hash<std::string>, but it turns out I'm wrong.
There is a hash function buried in iostream's locales library: std::collate<CharT>::hash, std::collate<CharT>::do_hash - cppreference.com
The cppreference page mentions its use by std::regex, so I was even more surprised to find that std::collate::hash is defined in C++98, which predates std::hash and std::regex.
My question, for the language lawyers among you, is why was std::collate::hash included in the C++98 standard?