1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/framework/helpers.hpp
2024-05-02 10:52:08 -03:00

33 lines
727 B
C++

#ifndef XNA_HELPERS_HPP
#define XNA_HELPERS_HPP
#include <string>
#include <utility>
namespace xna {
inline std::wstring XnaHToWString(const std::string& str)
{
std::wstring wstr;
size_t size;
wstr.resize(str.length());
mbstowcs_s(&size, &wstr[0], wstr.size() + 1, str.c_str(), str.size());
return wstr;
}
inline std::string XnaHToString(const std::wstring& wstr)
{
std::string str;
size_t size;
str.resize(wstr.length());
wcstombs_s(&size, &str[0], str.size() + 1, wstr.c_str(), wstr.size());
return str;
}
template <class T>
static constexpr void XnaHHashCombine(std::size_t& seed, const T& v) {
std::hash<T> hasher;
seed ^= hasher(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
}
}
#endif