2 // Copyright 2012 Daniel James.
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 // This is an example of how to write a hash function for a template
9 #include <boost/functional/hash_fwd.hpp>
11 template <typename A, typename B>
17 my_pair(A const& v1, B const& v2)
18 : value1(v1), value2(v2)
21 bool operator==(my_pair const& other) const
23 return value1 == other.value1 &&
24 value2 == other.value2;
27 friend std::size_t hash_value(my_pair const& p)
30 boost::hash_combine(seed, p.value1);
31 boost::hash_combine(seed, p.value2);