Mam klasy, który zawiera krotki typów zmiennych, takich jak ten:Jak wyodrębnić podzbiór krotki w nowej krotce?
template<class... Ts>
struct Tester
{
std::tuple<Ts...> t;
template<class... T2s>
std::tuple<T2s...> Get() { ??? }
};
Przykładem instancji jest Tester<int, float, char>
Chcę dostać się do mojego funkcja zwraca tylko podzbiór wewnętrznej krotki. Na przykład: tester.Get<int, char>
zwróci wartość std::tuple<int, char>
, której wartości zostaną skopiowane z odpowiednich elementów wewnętrznej krotki.
Można założyć, że każdy typ pojawia się maksymalnie raz w krotce i że Get
będzie wywoływane tylko z sensownymi parametrami szablonu, które znajdują się w krotce.
"Pierwszy pasujący typ" wprowadza w błąd. Jeśli typ występuje więcej niż jeden raz, program jest źle sformułowany. –