Skip to content

Commit

Permalink
libcore: Improved de::map() function
Browse files Browse the repository at this point in the history
  • Loading branch information
skyjake committed Sep 1, 2019
1 parent e2c2a88 commit 9865532
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions doomsday/libs/core/include/de/libcore.h
Expand Up @@ -671,6 +671,7 @@ inline OutContainer map(const InContainer &input, Func func) {
return out;
}

/*
template <typename OutContainer, typename InContainer>
inline OutContainer map(const InContainer &input,
std::function<typename OutContainer::value_type (
Expand All @@ -681,6 +682,20 @@ inline OutContainer map(const InContainer &input,
}
return out;
}
*/

template <typename OutContainer,
typename InContainer,
typename Func,
typename Inserter = std::back_insert_iterator<OutContainer>>
inline OutContainer map(const InContainer &input, Func func) {
OutContainer out;
Inserter ins(out);
for (const auto &i : input) {
*ins++ = func(i);
}
return out;
}

template <typename ContainerType>
inline ContainerType filter(ContainerType const &c,
Expand Down

0 comments on commit 9865532

Please sign in to comment.