| |
| [/ Copyright 2005-2008 Daniel James. |
| / Distributed under the Boost Software License, Version 1.0. (See accompanying |
| / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ] |
| |
| [section:intro Introduction] |
| |
| [def __tr1-full__ |
| [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf |
| Draft Technical Report on C++ Library Extensions]] |
| [def __tr1__ |
| [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf |
| TR1]] |
| [def __unordered__ [link unordered Boost.Unordered]] |
| [def __intrusive__ [link intrusive.unordered_set_unordered_multiset Boost.Intrusive]] |
| [def __multi-index__ [@boost:/libs/multi_index/doc/index.html |
| Boost Multi-Index Containers Library]] |
| [def __multi-index-short__ [@boost:/libs/multi_index/doc/index.html |
| Boost.MultiIndex]] |
| [def __bimap__ [@boost:/libs/bimap/index.html Boost.Bimap]] |
| [def __hash-function__ [@http://en.wikipedia.org/wiki/Hash_function hash function]] |
| [def __hash-table__ [@http://en.wikipedia.org/wiki/Hash_table hash table]] |
| |
| [classref boost::hash] is an implementation of the __hash-function__ object |
| specified by the __tr1-full__ (TR1). It is the default hash function for |
| __unordered__, __intrusive__'s unordered associative containers, and |
| __multi-index-short__'s hash indicies and __bimap__'s `unordered_set_of`. |
| |
| As it is compliant with __tr1__, it will work with: |
| |
| * integers |
| * floats |
| * pointers |
| * strings |
| |
| It also implements the extension proposed by Peter Dimov in issue 6.18 of the |
| __issues__ (page 63), this adds support for: |
| |
| * arrays |
| * `std::pair` |
| * the standard containers. |
| * extending [classref boost::hash] for custom types. |
| |
| [note |
| This hash function is designed to be used in containers based on |
| the STL and is not suitable as a general purpose hash function. |
| For more details see the [link hash.rationale rationale]. |
| ] |
| |
| |
| [endsect] |
| |