forked from boostorg/container_hash
Fix tutorial example (trac #11017)
Extract example into a C++ file, so that it can be tested, unfortunately this means that it no longer links to the reference documentation.
This commit is contained in:
27
doc/samples/tutorial.cpp
Normal file
27
doc/samples/tutorial.cpp
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#include <boost/container_hash/hash.hpp>
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <iterator>
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
//[ get_hashes
|
||||||
|
template <class Container>
|
||||||
|
std::vector<std::size_t> get_hashes(Container const& x)
|
||||||
|
{
|
||||||
|
std::vector<std::size_t> hashes;
|
||||||
|
std::transform(x.begin(), x.end(), std::back_inserter(hashes),
|
||||||
|
boost::hash<typename Container::value_type>());
|
||||||
|
|
||||||
|
return hashes;
|
||||||
|
}
|
||||||
|
//]
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
std::vector<int> values;
|
||||||
|
values.push_back(10);
|
||||||
|
values.push_back(20);
|
||||||
|
|
||||||
|
std::vector<std::size_t> hashes = get_hashes(values);
|
||||||
|
assert(hashes[0] = boost::hash<int>()(values[0]));
|
||||||
|
assert(hashes[1] = boost::hash<int>()(values[1]));
|
||||||
|
}
|
@@ -3,6 +3,9 @@
|
|||||||
/ Distributed under the Boost Software License, Version 1.0. (See accompanying
|
/ 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) ]
|
/ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ]
|
||||||
|
|
||||||
|
[quickbook 1.7]
|
||||||
|
[import samples/tutorial.cpp]
|
||||||
|
|
||||||
[def __multi-index-short__ [@boost:/libs/multi_index/doc/index.html
|
[def __multi-index-short__ [@boost:/libs/multi_index/doc/index.html
|
||||||
Boost.MultiIndex]]
|
Boost.MultiIndex]]
|
||||||
|
|
||||||
@@ -39,15 +42,7 @@ To use [classref boost::hash] directly, create an instance and call it as a func
|
|||||||
For an example of generic use, here is a function to generate a vector
|
For an example of generic use, here is a function to generate a vector
|
||||||
containing the hashes of the elements of a container:
|
containing the hashes of the elements of a container:
|
||||||
|
|
||||||
template <class Container>
|
[get_hashes]
|
||||||
std::vector<std::size_t> get_hashes(Container const& x)
|
|
||||||
{
|
|
||||||
std::vector<std::size_t> hashes;
|
|
||||||
std::transform(x.begin(), x.end(), std::insert_iterator(hashes),
|
|
||||||
``[classref boost::hash]``<typename Container::value_type>());
|
|
||||||
|
|
||||||
return hashes;
|
|
||||||
}
|
|
||||||
|
|
||||||
[endsect]
|
[endsect]
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user