5#ifndef V8_COMPILER_TURBOSHAFT_FAST_HASH_H_
6#define V8_COMPILER_TURBOSHAFT_FAST_HASH_H_
22 return 17 * acc +
value;
24template <
typename T,
typename... Ts>
30 if constexpr (std::is_enum<T>::value) {
31 return static_cast<size_t>(v);
38template <
typename T1,
typename T2>
48 return impl(v, std::make_index_sequence<
sizeof...(Ts)>());
51 template <
size_t...
I>
53 std::index_sequence<I...>)
const {
58template <
typename T,
typename... Ts>
63template <
typename Iterator>
66 for (; first != last; ++first) {
constexpr T * begin() const
constexpr T * end() const
V8_INLINE size_t fast_hash_range(Iterator first, Iterator last)
V8_INLINE size_t fast_hash_combine()
V8_INLINE size_t operator()(base::Vector< T > v) const
size_t operator()(const std::pair< T1, T2 > &v) const
size_t operator()(const std::tuple< Ts... > &v) const
V8_INLINE size_t impl(std::tuple< Ts... > const &v, std::index_sequence< I... >) const
size_t operator()(const T &v) const