9 template <class Tuple, size_t Index = std::tuple_size<Tuple>::value - 1>
10 struct HashValueImpl {
11 static void apply(
size_t& seed, Tuple
const& tuple) {
12 HashValueImpl<Tuple, Index-1>::apply(seed, tuple);
13 boost::hash_combine(seed, std::get<Index>(tuple));
18 template <
class Tuple>
19 struct HashValueImpl<Tuple, 0> {
20 static void apply(
size_t& seed, Tuple
const& tuple) {
21 boost::hash_combine(seed, std::get<0>(tuple));
30 template <
typename ... TT>
31 struct hash<const
std::tuple<TT...>> {
37 HashValueImpl<std::tuple<TT...> >::apply(seed, tt);
size_t operator()(std::tuple< TT...> const &tt) const
Definition: tuple_hash.h:35
Definition: boolean_function.h:215