Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
hash.hpp File Reference
#include <boost/functional/hash/hash_fwd.hpp>
#include <functional>
#include <boost/functional/hash/detail/hash_float.hpp>
#include <string>
#include <boost/limits.hpp>
#include <boost/type_traits/is_enum.hpp>
#include <boost/type_traits/is_integral.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/cstdint.hpp>
#include <typeindex>
#include <boost/functional/hash/extensions.hpp>
Include dependency graph for hash.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::hash_detail::enable_hash_value
 
struct  boost::hash_detail::basic_numbers< T >
 
struct  boost::hash_detail::long_numbers< T >
 
struct  boost::hash_detail::ulong_numbers< T >
 
struct  boost::hash_detail::float_numbers< T >
 
struct  boost::hash_detail::basic_numbers< bool >
 
struct  boost::hash_detail::basic_numbers< char >
 
struct  boost::hash_detail::basic_numbers< unsigned char >
 
struct  boost::hash_detail::basic_numbers< signed char >
 
struct  boost::hash_detail::basic_numbers< short >
 
struct  boost::hash_detail::basic_numbers< unsigned short >
 
struct  boost::hash_detail::basic_numbers< int >
 
struct  boost::hash_detail::basic_numbers< unsigned int >
 
struct  boost::hash_detail::basic_numbers< long >
 
struct  boost::hash_detail::basic_numbers< unsigned long >
 
struct  boost::hash_detail::basic_numbers< wchar_t >
 
struct  boost::hash_detail::long_numbers2< T >
 
struct  boost::hash_detail::ulong_numbers2< T >
 
struct  boost::hash_detail::long_numbers< T >
 
struct  boost::hash_detail::ulong_numbers< T >
 
struct  boost::hash_detail::long_numbers< boost::long_long_type >
 
struct  boost::hash_detail::ulong_numbers< boost::ulong_long_type >
 
struct  boost::hash_detail::float_numbers< float >
 
struct  boost::hash_detail::float_numbers< double >
 
struct  boost::hash_detail::float_numbers< long double >
 
struct  boost::hash< bool >
 
struct  boost::hash< char >
 
struct  boost::hash< signed char >
 
struct  boost::hash< unsigned char >
 
struct  boost::hash< wchar_t >
 
struct  boost::hash< short >
 
struct  boost::hash< unsigned short >
 
struct  boost::hash< int >
 
struct  boost::hash< unsigned int >
 
struct  boost::hash< long >
 
struct  boost::hash< unsigned long >
 
struct  boost::hash< float >
 
struct  boost::hash< double >
 
struct  boost::hash< long double >
 
struct  boost::hash< std::string >
 
struct  boost::hash< std::wstring >
 
struct  boost::hash< boost::long_long_type >
 
struct  boost::hash< boost::ulong_long_type >
 
struct  boost::hash< std::type_index >
 
struct  boost::hash< T * >
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::hash_detail
 

Macros

#define BOOST_HASH_CHAR_TRAITS   char_traits
 
#define BOOST_FUNCTIONAL_HASH_ROTL32(x, r)   (x << r) | (x >> (32 - r))
 
#define BOOST_HASH_SPECIALIZE(type)
 
#define BOOST_HASH_SPECIALIZE_REF(type)
 

Functions

template<typename T >
boost::hash_detail::long_numbers
< T >::type 
boost::hash_value (T)
 
template<typename T >
boost::hash_detail::ulong_numbers
< T >::type 
boost::hash_value (T)
 
template<typename T >
boost::enable_if
< boost::is_enum< T >
, std::size_t >::type 
boost::hash_value (T)
 
template<class T >
std::size_t boost::hash_value (T *const &)
 
template<class T , unsigned N>
std::size_t boost::hash_value (const T(&x)[N])
 
template<class T , unsigned N>
std::size_t boost::hash_value (T(&x)[N])
 
template<class Ch , class A >
std::size_t boost::hash_value (std::basic_string< Ch, std::char_traits< Ch >, A > const &)
 
template<typename T >
boost::hash_detail::float_numbers
< T >::type 
boost::hash_value (T)
 
std::size_t boost::hash_value (std::type_index)
 
template<class T >
std::size_t boost::hash_detail::hash_value_signed (T val)
 
template<class T >
std::size_t boost::hash_detail::hash_value_unsigned (T val)
 
template<typename SizeT >
void boost::hash_detail::hash_combine_impl (SizeT &seed, SizeT value)
 
template<typename SizeT >
void boost::hash_detail::hash_combine_impl (boost::uint32_t &h1, boost::uint32_t k1)
 
template<typename SizeT >
void boost::hash_detail::hash_combine_impl (boost::uint64_t &h, boost::uint64_t k)
 
template<typename T >
boost::hash_detail::basic_numbers
< T >::type 
boost::hash_value (T v)
 
template<class T >
void boost::hash_combine (std::size_t &seed, T const &v)
 
template<class It >
std::size_t boost::hash_range (It first, It last)
 
template<class It >
void boost::hash_range (std::size_t &seed, It first, It last)
 

Variables

template<typename T >
boost::hash_detail::basic_numbers
< T >::type 
boost::hash_value (T)
 

Macro Definition Documentation

#define BOOST_FUNCTIONAL_HASH_ROTL32 (   x,
 
)    (x << r) | (x >> (32 - r))
#define BOOST_HASH_CHAR_TRAITS   char_traits
#define BOOST_HASH_SPECIALIZE (   type)
Value:
template <> struct hash<type> \
: public std::unary_function<type, std::size_t> \
{ \
std::size_t operator()(type v) const \
{ \
return boost::hash_value(v); \
} \
};
boost::hash_detail::basic_numbers< T >::type hash_value(T)
Definition: hash.hpp:396
result_type operator()()
Definition: bind_template.hpp:17
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42
#define BOOST_HASH_SPECIALIZE_REF (   type)
Value:
template <> struct hash<type> \
: public std::unary_function<type, std::size_t> \
{ \
std::size_t operator()(type const& v) const \
{ \
return boost::hash_value(v); \
} \
};
boost::hash_detail::basic_numbers< T >::type hash_value(T)
Definition: hash.hpp:396
result_type operator()()
Definition: bind_template.hpp:17
adjacency_iterator typedef T::adjacency_iterator type
Definition: graph_traits.hpp:42