void main() { List<int> lst = { 1, 2, 3 }; printRaw(lst); // doesn't consume consume(lst); // consumes consume(std::move(lst)); printRaw(lst); { List<int> lst1{ 10, 20, 30, 40, 50 }; for (int x : lst1) std::cout << x << " "; std::cout << std::endl; OutListIter<int> out; auto it = std::transform(std::begin(lst1), std::end(lst1), out, [](int i) { return ++i; }); std::cout << it.getList() << std::endl; std::cout << lst1 << std::endl; auto lst2 = reverse(lst1); std::cout << lst2 << std::endl; } testLst(); testHigher(); }
void main() { { List<int> lst1{ 10, 20, 30, 40, 50 }; for (int x : lst1) std::cout << x << " "; std::cout << std::endl; OutListIter<int> out; auto it = std::transform(std::begin(lst1), std::end(lst1), out, [](int i) { return ++i; }); print(it.getList()); print(lst1); auto lst2 = reverse(lst1); print(lst2); } testLst(); testHigher(); }