ПК
Ок, раз уж заговорили про итерацию не по элементам, а по типам: есть ли что-то готовое? По идее нужно раскрытие variadic template в порядке справа налево. Пример:
https://godbolt.org/z/ETMK5j только вызов в обратном порядке... В mp11 такое есть, но там нужен дефолтный конструктор и предполагается вызов функции с соответствующим сконструированным объектом, а нужно просто вызов некой шаблонной функции с типом из списка шаблонных параметров...
index_sequence<I...>
, делай fold по I - это индекс по нему ты можешь получить тип в списке (если тебе именно типы нужны).Теперь задача сводится к тому чтобы сконструировать
index_sequence<N-1, N-2, ..., 0>
. Это можно сделать чуть чуть изменив реализацию std::make_index_sequence
, которая в прямом порядке индексы строит, чтоб строила в обратном