Hashing

The C++ Standard Library provides the std::hash template for defining custom hashing behavior. In chesscxx, some types define std::hash specializations. This enables their use with standard unordered associative containers such as std::unordered_set, std::unordered_multiset, std::unordered_map, and std::unordered_multimap.

std::hash Specializations

Hash and Equality predicates for repetition detection