diff --git a/Framework/Foundation/include/Framework/Pack.h b/Framework/Foundation/include/Framework/Pack.h index 62c1f10338777..7b3899060c491 100644 --- a/Framework/Foundation/include/Framework/Pack.h +++ b/Framework/Foundation/include/Framework/Pack.h @@ -85,11 +85,20 @@ template constexpr auto concatenate_pack(P1 p1, P2 p2, Ps... ps) { return concatenate_pack(p1, concatenate_pack(p2, ps...)); -}; +} template using concatenated_pack_t = decltype(concatenate_pack(Ps{}...)); +template +constexpr auto interleave_pack(pack, pack) +{ + return concatenated_pack_t...>{}; +} + +template +using interleaved_pack_t = decltype(interleave_pack(P1{}, P2{})); + /// Selects from the pack types that satisfy the Condition template