50 #ifndef pbori_routines_hash_h_
51 #define pbori_routines_hash_h_
54 #include <boost/functional/hash.hpp>
61 template <
class HashType,
class NaviType>
65 if (navi.isConstant()) {
66 if (navi.terminalValue())
67 boost::hash_combine(seed, CTypes::max_index());
71 boost::hash_combine(seed, *navi);
77 template <
class NaviType>
87 template <
class HashType>
90 boost::hash_combine(seed, CTypes::max_index());
93 template <
class HashType,
class NaviType>
97 while (!navi.isConstant()) {
98 boost::hash_combine(seed, *navi);
101 if (navi.terminalValue())
106 template <
class NaviType>
110 std::size_t seed = 0;
116 template <
class HashType,
class Iterator>
119 boost::hash_range(seed, start, finish);
123 template <
class Iterator>