mirror of
https://github.com/minetest/irrlicht.git
synced 2024-11-10 01:33:51 +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;
|
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 core
|
||||||
} // end namespace irr
|
} // end namespace irr
|
||||||
|
Loading…
Reference in New Issue
Block a user