Files
cpp-course/modules/09_cpp11/src/auto_and_range_for.cpp
T

27 lines
773 B
C++

#include "auto_and_range_for.hpp"
#include <algorithm>
namespace cpp11 {
auto double_values(const std::vector<int>& input) -> std::vector<int> {
auto result = std::vector<int>{};
result.reserve(input.size());
std::ranges::for_each(input, [&result](const int value) { result.push_back(value * 2); });
return result;
}
auto join_with_auto(const std::vector<std::string>& parts) -> std::string {
auto result = std::string{};
std::ranges::for_each(parts, [&result](const std::string& part) { result += part; });
return result;
}
auto count_if_positive(const std::vector<int>& input) -> int {
auto count = 0;
std::ranges::for_each(input, [&count](const int value) { if (value > 0) ++count; });
return count;
}
} // namespace cpp11