mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-08 06:00:59 -07:00
Delegate string hashing to standard library
Since standard library could have platform dependent specialized hashing functions. Also the main idea is to let `qHash` handle whatever integer type `std::hash` returns and mix it with `seed` accordingly. PR #18715.
This commit is contained in:
parent
d41a77841d
commit
a450a7c6e1
2 changed files with 2 additions and 2 deletions
|
@ -125,7 +125,7 @@ namespace std
|
||||||
{
|
{
|
||||||
uint qHash(const std::string &key, uint seed = 0)
|
uint qHash(const std::string &key, uint seed = 0)
|
||||||
{
|
{
|
||||||
return qHash(QByteArray::fromRawData(key.data(), static_cast<int>(key.length())), seed);
|
return ::qHash(std::hash<std::string> {}(key), seed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -167,6 +167,6 @@ std::size_t qHash(const Digest32<N> &key, const std::size_t seed = 0)
|
||||||
template <int N>
|
template <int N>
|
||||||
uint qHash(const Digest32<N> &key, const uint seed = 0)
|
uint qHash(const Digest32<N> &key, const uint seed = 0)
|
||||||
{
|
{
|
||||||
return static_cast<uint>((std::hash<typename Digest32<N>::UnderlyingType> {})(key)) ^ seed;
|
return ::qHash(std::hash<typename Digest32<N>::UnderlyingType> {}(key), seed);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue