27 lines
773 B
C++
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
|