28template <
typename source_type,
template <
typename ...>
typename target_template>
29struct transfer_template_args_onto
57template <
template <
typename ...>
typename source_template,
58 template <
typename ...>
typename target_template,
59 typename ...source_arg_types>
63 typename target_template<source_arg_types...>;
66struct transfer_template_args_onto<source_template<source_arg_types...>, target_template>
69 using type = target_template<source_arg_types...>;
76template <
typename source_type,
template <
typename ...>
typename target_template>
84template <
typename source_type,
template <
auto ...>
typename target_template>
85struct transfer_template_vargs_onto
106template <
template <
auto ...>
typename source_template,
107 template <
auto ...>
typename target_template,
108 auto ... source_varg_types>
112 typename target_template<source_varg_types...>;
115struct transfer_template_vargs_onto<source_template<source_varg_types...>, target_template>
118 using type = target_template<source_varg_types...>;
125template <
typename source_type,
template <
auto ...>
typename target_template>
144template <
typename source_t,
template <
typename ...>
typename target_template>
149template <
typename source_t,
template <
typename ...>
typename target_template>
151 requires (!std::same_as<transformation_trait_or_t<transfer_template_args_onto<source_t, target_template>,
void>,
163template <
typename source_t,
template <
typename ...>
typename target_template>
171template <
typename source_t,
template <
auto ...>
typename target_template>
185template <
typename source_t,
template <
auto ...>
typename target_template>
187 requires (!std::same_as<transformation_trait_or_t<transfer_template_vargs_onto<source_t, target_template>,
void>,
199template <
typename source_t,
template <
auto ...>
typename target_template>
210template <
typename fallback_t,
template <
typename ...>
typename templ_t,
typename ...spec_t>
218template <
typename fallback_t,
template <
typename ...>
typename templ_t,
typename ...spec_t>
220 requires requires {
typename templ_t<spec_t...>; }
225 using type = templ_t<spec_t...>;
235template <
typename fallback_t,
template <
typename ...>
typename templ_t,
typename ...spec_t>
257template <
typename mytype,
template <
typename ...>
typename type_template>
typename transfer_template_args_onto< source_type, target_template >::type transfer_template_args_onto_t
Shortcut for seqan3::detail::transfer_template_args_onto (transformation_trait shortcut).
Definition: template_inspection.hpp:77
typename valid_template_spec_or< fallback_t, templ_t, spec_t... >::type valid_template_spec_or_t
Helper for seqan3::detail::valid_template_spec_or (transformation_trait shortcut).
Definition: template_inspection.hpp:236
typename transfer_template_vargs_onto< source_type, target_template >::type transfer_template_vargs_onto_t
Shortcut for seqan3::detail::transfer_template_vargs_onto (transformation_trait shortcut).
Definition: template_inspection.hpp:126
typename transformation_trait_or< type_t, default_t >::type transformation_trait_or_t
Helper type of seqan3::detail::transformation_trait_or (transformation_trait shortcut).
Definition: transformation_trait_or.hpp:51
Provides concept seqan3::template_specialisation_of<mytype, [...]> for checking the type specialisati...
The internal SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: template_inspection.hpp:156
Determines whether a source_type is a specialisation of another template.
Definition: template_inspection.hpp:146
Determines whether a source_type is a specialisation of another template.
Definition: template_inspection.hpp:192
target_template< source_arg_types... > type
The return type: the target type specialised by the unpacked types in the list.
Definition: template_inspection.hpp:69
target_template< source_varg_types... > type
The return type: the target type specialised by the unpacked types in the list.
Definition: template_inspection.hpp:118
templ_t< spec_t... > type
The resulting type.
Definition: template_inspection.hpp:225
Exposes templ_t<spec_t...> if that is valid, otherwise fallback_t.
Definition: template_inspection.hpp:212
fallback_t type
The resulting type.
Definition: template_inspection.hpp:214
constexpr bool is_value_specialisation_of_v
Helper variable template for seqan3::detail::is_value_specialisation_of (unary_type_trait shortcut).
Definition: template_inspection.hpp:200