mirror of
https://github.com/minetest/irrlicht.git
synced 2024-12-26 16:07:31 +01:00
Remove irr::core::hash
Its use of std::unary_function was deprecated. And it wasn't used anywhere.
This commit is contained in:
parent
839bdc1a65
commit
09e6eeb65b
@ -3612,33 +3612,5 @@ inline std::wostream& operator<<(std::wostream& out, const ustring16& in)
|
||||
return out;
|
||||
}
|
||||
|
||||
namespace unicode
|
||||
{
|
||||
|
||||
//! Hashing algorithm for hashing a ustring. Used for things like unordered_maps.
|
||||
//! Algorithm taken from std::hash<std::string>.
|
||||
class hash : public std::unary_function<core::ustring, size_t>
|
||||
{
|
||||
public:
|
||||
size_t operator()(const core::ustring& s) const
|
||||
{
|
||||
size_t ret = 2166136261U;
|
||||
size_t index = 0;
|
||||
size_t stride = 1 + s.size_raw() / 10;
|
||||
|
||||
core::ustring::const_iterator i = s.begin();
|
||||
while (i != s.end())
|
||||
{
|
||||
// TODO: Don't force u32 on an x64 OS. Make it agnostic.
|
||||
ret = 16777619U * ret ^ (size_t)s[(u32)index];
|
||||
index += stride;
|
||||
i += stride;
|
||||
}
|
||||
return (ret);
|
||||
}
|
||||
};
|
||||
|
||||
} // end namespace unicode
|
||||
|
||||
} // end namespace core
|
||||
} // end namespace irr
|
||||
|
Loading…
Reference in New Issue
Block a user