Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zastosowanie variadic templates do zwrócenia tupli zmiennej długości.

Ostatnio zmodyfikowano 2020-11-29 16:29
Autor Wiadomość
Szustarol
Temat założony przez niniejszego użytkownika
Zastosowanie variadic templates do zwrócenia tupli zmiennej długości.
» 2020-11-29 16:03:27
Witam.
Rozważmy prosty przykład, potrzebuję funkcję, która zwraca
liczby od parametr+ 1 do parametr+N w tupli. Oczywiście nie jest to zastosowanie do którego rzeczywiście
szukam rozwiązania, ale będzie najłatwiej tak wytłumaczyć.

Potrzebowałbym więc funkcji, której wywołania może działać tak:

C/C++
auto from1_to_3 = func < 3 >( 1 ); //(2, 3, 4)
//ew.
std::tuple < int, int, int > from1_to_3p = func < 3 >( 1 );

Czy jest możliwa implementacja takiej funkcji bez większego "kobinowania", czy potrzebne byłyby sztuczki?
Ergo, czy da się to zrobić bez znacznej komplikacji kodu?
P-177763
pekfos
» 2020-11-29 16:29:17
Możesz użyć std::tuple_cat i func napisać rekurencyjnie: func<1> zwraca krotkę jednoelementową, a func<n> zwraca sklejoną krotkę jednoelementową ze zwróconą z func<n-1>.
P-177764
« 1 »
  Strona 1 z 1