Re[3]: Parameter pack to index sequence pack
От: ViTech  
Дата: 26.05.20 16:50
Оценка: 2 (2)
Здравствуйте, koenjihyakkei, Вы писали:

K>Но все же интересно, средствами метапрограммирования можно ли такое сделать.


Возможен вариант с таким костылём:
http://coliru.stacked-crooked.com/a/afde491174748633
#include <utility>
#include <iostream>

void pr(const char* c, int n)
{
    std::cout << n << ": " << c << std::endl;
}

template <class ... Args, std::size_t... N>
void fn(Args&& ... args, std::index_sequence<N...>)
{
    (pr(std::forward<Args>(args), N), ...);
}

template <class ... Args>
void fn(Args&& ... args)
{
    fn<Args...>(std::forward<Args>(args)...,
                std::make_index_sequence<sizeof... (Args)>{});
}

int main()
{
    fn("str0", "str1", "str2");
    return 0;
}
Пока сам не сделаешь...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.