| Home | Libraries | People | FAQ | More

## Struct template hash

boost::hash — A TR1 compliant hash function object.

## Synopsis

    // In header: <boost/functional/hash.hpp>

    template<typename T>
    struct hash : public std::unary_function<T, std::size_t> {
      std::size_t operator()(T const&) const;
    };

## Description

    std::size_t operator()(T const& val) const;

Returns:

    hash_value(val)

Notes: | The call to `hash_value` is unqualified, so that custom overloads can be found via argument dependent lookup. This is not defined when the macro `BOOST_HASH_NO_EXTENSIONS` is defined. The specializations are still defined, so only the specializations required by TR1 are defined.
Throws: | Only throws if `hash_value(T)` throws.