tutorial.cpp 672 B

123456789101112131415161718192021222324252627
  1. #include <boost/container_hash/hash.hpp>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <iterator>
  5. #include <cassert>
  6. //[ get_hashes
  7. template <class Container>
  8. std::vector<std::size_t> get_hashes(Container const& x)
  9. {
  10. std::vector<std::size_t> hashes;
  11. std::transform(x.begin(), x.end(), std::back_inserter(hashes),
  12. boost::hash<typename Container::value_type>());
  13. return hashes;
  14. }
  15. //]
  16. int main() {
  17. std::vector<int> values;
  18. values.push_back(10);
  19. values.push_back(20);
  20. std::vector<std::size_t> hashes = get_hashes(values);
  21. assert(hashes[0] = boost::hash<int>()(values[0]));
  22. assert(hashes[1] = boost::hash<int>()(values[1]));
  23. }