From 2cded73813e288f7570bac082affe6be451e7e00 Mon Sep 17 00:00:00 2001 From: Jonathan Poelen Date: Sun, 9 Nov 2025 02:07:47 +0100 Subject: [PATCH] optimize mp_remove_if compiler | gcc-15 | clang-20 before | 0:00.21s - 67308K | 0:00.51s - 137744K after | 0:00.21s - 66956K | 0:00.49s - 138492K ```cpp template using pred = mp_true; template> using test = mp_remove_if; using r1 = mp_transform>; ``` --- include/boost/mp11/detail/mp_remove_if.hpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/boost/mp11/detail/mp_remove_if.hpp b/include/boost/mp11/detail/mp_remove_if.hpp index 9687b4a..cafbf34 100644 --- a/include/boost/mp11/detail/mp_remove_if.hpp +++ b/include/boost/mp11/detail/mp_remove_if.hpp @@ -32,8 +32,7 @@ template class L, class... T, template class P> str template struct _f { using type = mp_if, mp_list<>, mp_list>; }; using type = mp_append, typename _f::type...>; #else - template using _f = mp_if, mp_list<>, mp_list>; - using type = mp_append, _f...>; + using type = mp_append, mp_if, mp_list<>, mp_list>...>; #endif };