Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Reference

Reference

For the full specification, see section 6.3 of the C++ Standard Library Technical Report and issue 6.18 of the Library Extension Technical Report Issues List.

Includes all the following headers.

Defines boost::hash, the implementation for built in types and std::string and customisation functions.

namespace boost {
  template<typename T> struct hash;
  template<typename T> void hash_combine(size_t &, T const &);
  template<typename It> std::size_t hash_range(It, It);
  template<typename It> void hash_range(std::size_t&, It, It);
  std::size_t hash_value(int);
  std::size_t hash_value(unsigned int);
  std::size_t hash_value(long);
  std::size_t hash_value(unsigned long);
  std::size_t hash_value(float);
  std::size_t hash_value(double);
  std::size_t hash_value(long double);
  template<typename T> std::size_t hash_value(T* const&);
  template<typename T, unsigned N> std::size_t hash_value(T (&val)[N]);
  template<typename T, unsigned N> std::size_t hash_value(const T (&val)[N]);
  template<typename Ch, typename A> 
    std::size_t hash_value(std::basic_string<Ch, std::char_traits<Ch>, A> const&);
}

Hash implementation for std::pair.

namespace boost {
  template<typename A, typename B> 
    std::size_t hash_value(std::pair<A, B> const &);
}

Hash implementation for std::vector.

namespace boost {
  template<typename T, typename A> 
    std::size_t hash_value(std::vector<T, A> const &);
}

Hash implementation for std::list.

namespace boost {
  template<typename T, typename A> 
    std::size_t hash_value(std::list<T, A> const &);
}

Hash implementation for std::deque.

namespace boost {
  template<typename T, typename A> 
    std::size_t hash_value(std::deque<T, A> const &);
}

Hash implementation for std::set and std::multiset.

namespace boost {
  template<typename K, typename C, typename A> 
    std::size_t hash_value(std::set<K, C, A> const &);
  template<typename K, typename C, typename A> 
    std::size_t hash_value(std::multiset<K, C, A> const &);
}

Hash implementation for std::map and std::multimap.

namespace boost {
  template<typename K, typename T, typename C, typename A> 
    std::size_t hash_value(std::map<K, T, C, A> const &);
  template<typename K, typename T, typename C, typename A> 
    std::size_t hash_value(std::multimap<K, T, C, A> const &);
}
Copyright © 2005 Daniel James

PrevUpHomeNext