Squashed 'third_party/boostorg/container_hash/' content from commit 9fbda1a

Change-Id: I3db45eeb90d6b7e18fb95c2df04c0afc15541790
git-subtree-dir: third_party/boostorg/container_hash
git-subtree-split: 9fbda1a98a32498c52a1c8ebf62311bb36a44ad4
diff --git a/doc/samples/tutorial.cpp b/doc/samples/tutorial.cpp
new file mode 100644
index 0000000..b11609b
--- /dev/null
+++ b/doc/samples/tutorial.cpp
@@ -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]));
+}