std::string hash implementation via @DennisL