parameter pack capturing with forwarding
От: rg45 СССР  
Дата: 27.07.23 07:40
Оценка:
Привет всем!

Помогите, добрые люди, отстал от поезда.

В C++ есть очень полезная возможность форвардинга отдельных параметров при захвате в лямбду:

template <typename T>
auto make_foo(T&& t) {
    return [t = std::forward<T>(t)](/*...*/) { /*...*/ };
}


Нужно то же самое, только для вариадик параметр паков:

template <typename...T>
auto make_foo(T&&...t) {
    return [/* вот здесь нужен захват по значению с форвардингом */](/*...*/) { /*...*/ };
}


Искал, но не нашел. Выкручиваюсь через туплы — сначала запаковка, потом распаковка — жутко надоедливое занятие. Трудно поверить, что эту возможность выпустили из виду. Может, все-таки, что-то предусмотрено на этот случай, просто я не знаю?

P.S. Захват по ссылке не предлагать.
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 27.07.2023 8:26 rg45 . Предыдущая версия . Еще …
Отредактировано 27.07.2023 7:59 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.