From 9b52d193a3879bae312784d600f52c1ef41f08c1 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 14 Oct 2015 13:15:09 +0200 Subject: [PATCH] Add Utils::filtered as a wrapper around std::copy_if Change-Id: I4a189581a4a7f42f880c47b91372d7e96d50655e Reviewed-by: Daniel Teske --- src/libs/utils/algorithm.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libs/utils/algorithm.h b/src/libs/utils/algorithm.h index fbfe906acd2..d4fcac1ae95 100644 --- a/src/libs/utils/algorithm.h +++ b/src/libs/utils/algorithm.h @@ -337,6 +337,18 @@ auto transform(const SC &container, R (S::*p)() const) >::call(container, p); } +////////////////// +// filtered +///////////////// +template +C filtered(const C &container, F predicate) +{ + C out; + std::copy_if(container.begin(), container.end(), + inserter(out), predicate); + return out; +} + ////////////////// // sort /////////////////