SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
Extracts a type template's type arguments and specialises another template with them. More...
#include <seqan3/core/detail/template_inspection.hpp>
Public Types | |
using | type = target_template< source_arg_types... > |
The return type: the target type specialised by the unpacked types in the list. | |
Extracts a type template's type arguments and specialises another template with them.
source_template | The source type; must be a specialisation of a template. |
target_template | The type template you wish to specialise. |
source_arg_types | The type arguments to the source_template (deduced implicitly). |
Among other use cases, it enables using the types contained in a seqan3::type_list to specialise another type template.
A type trait shortcut is also defined: seqan3::detail::transfer_template_args_onto_t
This type trait works for templates that have only type-arguments. See seqan3::detail::transfer_template_vargs_onto for a type trait that transfers non-type arguments. There is no type trait that can handle a combination of type and non-type arguments. If the source_type
is a not a template class, e.g. an int
, the member type type
is not defined.