SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
Exposes a subset of types as a seqan3::type_list selected based on their IDs. More...
#include <seqan3/io/detail/record.hpp>
Public Types | |
using | type = type_list< return_types... > |
The return type. | |
Related Symbols | |
(Note that these are not member symbols.) | |
template<typename field_types , typename field_types_as_ids , typename selected_field_ids , size_t field_no = 0, typename... return_types> | |
using | select_types_with_ids_t = typename select_types_with_ids< field_types, field_types_as_ids, selected_field_ids, field_no, return_types... >::type |
Shortcut for seqan3::select_types_with_ids (transformation_trait shortcut). | |
Exposes a subset of types as a seqan3::type_list selected based on their IDs.
field_types | The types of the fields available to the record in a seqan3::type_list. |
field_types_as_ids | A seqan3::fields type with seqan3::field IDs corresponding to field_types. |
selected_field_ids | A seqan3::fields type with the subset (and order) of the fields selected. |
field_no | The field we are currently processing (defaults to 0). |
return_types | The type pack being aggregated (empty at start). |
Given a list of types and corresponding IDs; and given a selection (and possibly different order) of IDs, return the types corresponding to that selection and in that order.
This transformation trait recurses over the selected_field_ids
and retrieves the corresponding typenames from field_types
via their identifer in field_types_as_ids
. It recursively builds up return_types
which it packs into a seqan3::type_list once the end of selected_field_ids is reached.