25template <
typename source_type,
template <
typename...>
typename target_template>
26struct transfer_template_args_onto
54template <
template <
typename...>
typename source_template,
55 template <
typename...>
56 typename target_template,
57 typename... source_arg_types>
58 requires requires () {
typename target_template<source_arg_types...>; }
59struct transfer_template_args_onto<source_template<source_arg_types...>, target_template>
62 using type = target_template<source_arg_types...>;
69template <
typename source_type,
template <
typename...>
typename target_template>
77template <
typename source_type,
template <
auto...>
typename target_template>
78struct transfer_template_vargs_onto
99template <
template <
auto...>
typename source_template,
101 typename target_template,
102 auto... source_varg_types>
103 requires requires () {
typename target_template<source_varg_types...>; }
104struct transfer_template_vargs_onto<source_template<source_varg_types...>, target_template>
107 using type = target_template<source_varg_types...>;
114template <
typename source_type,
template <
auto...>
typename target_template>
133template <
typename source_t,
template <
typename...>
typename target_template>
138template <
typename source_t,
template <
typename...>
typename target_template>
140 !std::same_as<transformation_trait_or_t<transfer_template_args_onto<source_t, target_template>,
void>,
void>)
150template <
typename source_t,
template <
typename...>
typename target_template>
158template <
typename source_t,
template <
auto...>
typename target_template>
172template <
typename source_t,
template <
auto...>
typename target_template>
174 !std::same_as<transformation_trait_or_t<transfer_template_vargs_onto<source_t, target_template>,
void>,
void>)
175struct is_value_specialisation_of<source_t, target_template> :
184template <
typename source_t,
template <
auto...>
typename target_template>
195template <
typename fallback_t,
template <
typename...>
typename templ_t,
typename... spec_t>
203template <
typename fallback_t,
template <
typename...>
typename templ_t,
typename... spec_t>
204 requires requires {
typename templ_t<spec_t...>; }
208 using type = templ_t<spec_t...>;
218template <
typename fallback_t,
template <
typename...>
typename templ_t,
typename... spec_t>
240template <
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:70
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:219
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:115
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:48
Provides concept seqan3::template_specialisation_of<mytype, [...]> for checking the type specialisati...
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
SeqAn specific customisations in the standard namespace.
Determines whether a source_type is a specialisation of another template.
Definition template_inspection.hpp:135
target_template< source_arg_types... > type
The return type: the target type specialised by the unpacked types in the list.
Definition template_inspection.hpp:62
target_template< source_varg_types... > type
The return type: the target type specialised by the unpacked types in the list.
Definition template_inspection.hpp:107
templ_t< spec_t... > type
The resulting type.
Definition template_inspection.hpp:208
Exposes templ_t<spec_t...> if that is valid, otherwise fallback_t.
Definition template_inspection.hpp:197
fallback_t type
The resulting type.
Definition template_inspection.hpp:199
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:185