SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::detail::transfer_template_vargs_onto< source_template< source_varg_types... >, target_template > Struct Template Reference

Extracts a type template's non-type arguments and specialises another template with them. More...

#include <seqan3/core/detail/template_inspection.hpp>

+ Inheritance diagram for seqan3::detail::transfer_template_vargs_onto< source_template< source_varg_types... >, target_template >:

Public Types

using type = target_template< source_varg_types... >
 The return type: the target type specialised by the unpacked types in the list.
 

Detailed Description

template<template< auto... > typename source_template, template< auto... > typename target_template, auto... source_varg_types>
requires requires () { typename target_template<source_varg_types...>; }
struct seqan3::detail::transfer_template_vargs_onto< source_template< source_varg_types... >, target_template >

Extracts a type template's non-type arguments and specialises another template with them.

Template Parameters
source_templateThe source type; must be a specialisation of a template.
target_templateThe type template you wish to specialise.
source_varg_typesThe non-type arguments to the source_template (deduced implicitly).
See also
seqan3::detail::transfer_template_vargs_onto

A shortcut is also defined: seqan3::detail::transfer_template_vargs_onto_t

This transformation trait works for templates that have only non-type-arguments. See seqan3::detail::transfer_template_args_onto for a transformation trait that transfers type arguments. There is no transformation 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.


The documentation for this struct was generated from the following file:
Hide me