Update documentation

This commit is contained in:
Peter Dimov
2022-09-18 20:58:00 +03:00
parent ed235989ef
commit 123875dc83
15 changed files with 868 additions and 550 deletions
+29 -5
View File
@@ -1,11 +1,23 @@
////
Copyright 2005-2008 Daniel James
Copyright 2022 Christian Mazakas
Copyright 2022 Peter Dimov
Distributed under the Boost Software License, Version 1.0.
https://www.boost.org/LICENSE_1_0.txt
////
[#tutorial]
= Tutorial
:idprefix: tutorial_
When using a hash index with link:../../../multi_index/index.html[Boost.MultiIndex], you don't need to do anything to use `boost::hash` as it uses it by default. To find out how to use a user-defined type, read the <<custom,section on extending boost::hash for a custom data type>>.
When using a Boost container such as
link:../../../unordered/index.html[Boost.Unordered], you don't need to do
anything to use `boost::hash` as it's the default. To find out how to use
a user-defined type, read the <<user,section on extending boost::hash
for user types>>.
If your standard library supplies its own implementation of the unordered associative containers and you wish to use `boost::hash`, just use an extra template parameter:
If you wish to use `boost::hash` with the standard unordered associative
containers, pass it as a template parameter:
[source]
----
@@ -27,12 +39,24 @@ To use `boost::hash` directly, create an instance and call it as a function:
int main()
{
boost::hash<std::string> string_hash;
std::size_t h = string_hash("Hash me");
}
----
For an example of generic use, here is a function to generate a vector containing the hashes of the elements of a container:
or alternatively:
[source]
----
#include <boost/container_hash/hash.hpp>
int main()
{
std::size_t h = boost::hash<std::string>()("Hash me");
}
----
For an example of generic use, here is a function to generate a vector
containing the hashes of the elements of a container:
[source]
----