Advertisement
Guest User

Untitled

a guest
Mar 29th, 2020
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <functional>
  4.  
  5. template <typename iter, typename Fun>
  6. void myapply(iter start, iter end, Fun func) {
  7. std::vector<std::reference_wrapper<typename iter::value_type>> v(start, end);
  8. auto it = v.begin();
  9. while (it != v.end()) {
  10. func(*it);
  11. it++;
  12. }
  13. }
  14.  
  15. template<typename Cmp, typename iter>
  16. std::vector<typename iter::value_type> myfilter2(iter start, iter end, Cmp pred) {
  17. std::vector<typename iter::value_type> ans;
  18. std::vector<std::reference_wrapper<typename iter::value_type>> v(start, end);
  19. for (const auto& it: v) {
  20. if (pred(it)) {
  21. ans.insert(ans.end(), it);
  22. }
  23. }
  24. return ans;
  25. }
  26.  
  27. template <typename iter, typename Fun>
  28. void myapply(iter* start, iter* end, Fun func) {
  29. std::vector<std::reference_wrapper<iter>> v(start, end);
  30. auto it = v.begin();
  31. while (it != v.end()) {
  32. func(*it);
  33. it++;
  34. }
  35. }
  36.  
  37. template<typename Cmp, typename iter>
  38. std::vector<iter> myfilter2(iter* start, iter* end, Cmp pred) {
  39. std::vector<iter> ans;
  40. std::vector<std::reference_wrapper<iter>> v(start, end);
  41. for (const auto& it: v) {
  42. if (pred(it)) {
  43. ans.insert(ans.end(), it);
  44. }
  45. }
  46. return ans;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement