**Description**

**Description**

A Hash Function is a Unary Function that is used by Hashed Associative Containers: it maps its argument to a result of type *size_t*. A Hash Function must be deterministic and stateless. That is, the return value must depend only on the argument, and equal arguments must yield equal results.

The performance of a Hashed Associative Container depends crucially on its hash function. It is important for a Hash Function to minimize collisions, where a collision is defined as two different arguments that hash to the same value. It is also important that the distribution of hash values be uniform; that is, the probability that a Hash Function returns any particular value of type *size_t* should be roughly the same as the probability that it returns any other value. [1]