2#include <ossia/detail/hash.hpp>
3#include <ossia/network/value/value.hpp>
10struct hash<
ossia::impulse>
13 std::size_t operator()(
const ossia::impulse& v)
const
15 if constexpr(
sizeof(std::size_t) == 8)
16 return 4412470058203171781ul;
22struct hash<std::vector<ossia::value>>
24 inline std::size_t operator()(
const std::vector<ossia::value>& v)
const;
27template <std::
size_t N>
28struct hash<std::array<float, N>>
30 std::size_t operator()(
const std::array<float, N>& v)
const
33 for(std::size_t i = 0; i < N; i++)
34 ossia::hash_combine(seed, v[i]);
40struct hash<
ossia::value>
45 ossia::hash_combine(seed, v.v.which());
48 [&](
const auto& val) { ossia::hash_combine(seed, val); }, v.v);
53inline std::size_t std::hash<std::vector<ossia::value>>::operator()(
54 const std::vector<ossia::value>& v)
const
57 for(
const auto& val : v)
58 ossia::hash_combine(seed, hash<
ossia::value>{}(val));
The value class.
Definition value.hpp:173