aboutsummaryrefslogtreecommitdiff
path: root/list.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'list.cpp')
-rw-r--r--list.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/list.cpp b/list.cpp
index 83e7068..df8cc13 100644
--- a/list.cpp
+++ b/list.cpp
@@ -54,6 +54,15 @@ List<T> *reverse(List<T> *lst, List<T> *prev = nullptr)
return reverse(next, lst);
}
+template <typename T, typename U>
+void map(List<T> *lst, U (*f)(T))
+{
+ if (!lst)
+ return;
+ lst->value = f(lst->value);
+ map(lst->next, f);
+}
+
template <typename T>
std::ostream& operator<<(std::ostream& ostream, const List<T> *lst)
{