Implementation for extract_to_tuple_type
.
More...
#include <TupleLookupByTag.h>
Public Types | |
using | type = typename extract_to_tuple_type_impl< TargetClass, Extractor, Tuple,(I+1), N, T..., typename Extractor< std::tuple_element_t< I, Tuple >>::type >::type |
Implementation for extract_to_tuple_type
.
TargetClass | as in extract_to_tuple_type |
Extractor | as in extract_to_tuple_type |
Tuple | as in extract_to_tuple_type |
I | index of the type being extracted at this iteration |
N | total number of types to be extracted |
T | types already extracted |
The recursive implementation adds the type extracted from the I
-th Tuple
element to the list of T.
The total number of iterations needs to be passed as argument since the end-of-iteration specialization needs to define I
as std::tuple_size_v<Tuple>
, but C++ (at least up to C++14) does not allow for a typed template argument to be so complicate (). This may change in the future,
Definition at line 1027 of file TupleLookupByTag.h.
using util::details::extract_to_tuple_type_impl< TargetClass, Extractor, Tuple, I, N, T >::type = typename extract_to_tuple_type_impl<TargetClass, Extractor, Tuple, (I + 1), N, T..., typename Extractor<std::tuple_element_t<I, Tuple>>::type>::type |
Definition at line 1028 of file TupleLookupByTag.h.