cpp/utility/optional/hash

The template specialization of std for the std class allows users to obtain hashes of the values contained in objects.

The specialization is enabled (see std) if  is enabled, and is disabled otherwise.

When enabled, for an object of type  that contains a value,  evaluates to the same value as. For an optional that does not contain a value, the hash is unspecified.

The member functions of this specialization are not guaranteed to be noexcept because the hash of the underlying type might throw.