16 template<
class ElementA,
class ElementB>
19 using pair<ElementA, ElementB>::pair;
24 return ((this->first == up.first) && (this->second == up.second))
25 || ((this->first == up.second) && (this->second == up.first));
30 template<
class ElementA,
class ElementB>
31 size_t hash_value(
const unordered_pair<ElementA, ElementB>& up)
33 return std::hash<ElementA>{}(up.first) + std::hash<ElementB>{}(up.second);
bool operator==(const unordered_pair< ElementA, ElementB > &up) const
two unordered pairs {u,v} and {x,y} are equal if (u=x & v=y) or (u=y & v=x)
Definition: unordered_pair.hpp:22
Definition: low_priority_queue.hpp:23
an unordered pair
Definition: unordered_pair.hpp:17
size_t hash_value(const boost::unordered_set< T > &S)
a hash computation for an unordered set, XORing its members
Definition: utils.hpp:178