7#include "../macros.hpp"
15hi_export_module(hikogui.utility.hash);
17hi_export
namespace hi::inline
v1 {
19[[nodiscard]]
constexpr std::size_t hash_mix_two(std::size_t hash1, std::size_t hash2)
noexcept
21 if constexpr (
sizeof(std::size_t) == 8) {
22 return hash1 + 0x9e3779b97f681800 + (hash2 << 6) + (hash2 >> 2);
23 }
else if constexpr (
sizeof(std::size_t) == 4) {
24 return hash1 + 0x9e3779b9 + (hash2 << 6) + (hash2 >> 2);
30template<
typename First,
typename Second,
typename... Args>
31[[nodiscard]]
constexpr std::size_t hash_mix(First &&first, Second &&second, Args &&...args)
noexcept
33 if constexpr (
sizeof...(args) == 0) {
Utilities to assert and bound check.
Utilities for throwing exceptions and terminating the application.
DOXYGEN BUG.
Definition algorithm_misc.hpp:20