Guest User

Untitled

a guest
Apr 24th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. auto acc_func = [iss{std::istringstream{}}](int acc, std::string &str) mutable {
  2. iss.str(str);
  3. int sz;
  4. iss >> sz;
  5. iss.clear();
  6. return acc + sz;
  7.  
  8. };
  9. ranges::getlines_range lazy_lines = ranges::getlines(std::cin);
  10. auto rng = lazy_lines | ranges::view::all;
  11. auto begin = ranges::begin(rng);
  12. auto end = ranges::end(rng);
  13. auto acc = ranges::accumulate(begin, end, 0, acc_func);
  14. std::cout << acc;
  15.  
  16. /opt/compiler-explorer/libs/rangesv3/trunk/include/range/v3/numeric/accumulate.hpp:39:15: note: candidate template ignored: requirement 'Accumulateable<ranges::v3::_basic_iterator_::basic_iterator<ranges::v3::getlines_range::cursor>, int, (lambda at <source>:9:21), ranges::v3::ident>()' was not satisfied [with I = ranges::v3::_basic_iterator_::basic_iterator<ranges::v3::getlines_range::cursor>, S = ranges::v3::default_sentinel, T = int, Op = (lambda at <source>:9:21), P = ranges::v3::ident, _concept_requires_38 = 42]
  17.  
  18. T operator()(I begin, S end, T init, Op op = Op{}, P proj = P{}) const
  19.  
  20. ^
  21.  
  22. std::istringstream stack_iss;
  23. auto acc_func = [&iss{stack_iss}](int acc, std::string &str) mutable {
  24. iss.str(str);
  25. int sz;
  26. iss >> sz;
  27. iss.clear();
  28. return acc + sz;
  29.  
  30. };
  31. ranges::getlines_range lazy_lines = ranges::getlines(std::cin);
  32. auto rng = lazy_lines | ranges::view::all;
  33. auto begin = ranges::begin(rng);
  34. auto end = ranges::end(rng);
  35. auto acc = ranges::accumulate(begin, end, 0, acc_func);
  36. std::cout << acc;
Add Comment
Please, Sign In to add comment