33template <
typename tuple_t>
36 std::tuple_size<tuple_t>::value
37 } -> std::convertible_to<size_t>;
47template <
typename tuple_t>
49 requires (tuple_t & v, tuple_t
const & v_c) {
50 requires std::tuple_size_v<tuple_t> > 0;
52 typename std::tuple_element<0, tuple_t>::type;
56 } -> std::convertible_to<typename std::tuple_element<0, tuple_t>::type>;
63 } -> std::convertible_to<typename std::tuple_element<0, tuple_t>::type>;
66 } -> std::convertible_to<typename std::tuple_element<0, tuple_t>::type>;
68 get<0>(std::move(v_c))
69 } -> std::convertible_to<typename std::tuple_element<0, tuple_t>::type
const &&>;
80template <detail::tuple_size tuple_t>
85 template <
size_t... Is>
101template <detail::tuple_size tuple_t>
107template <
typename... elements_t>
115template <
typename tuple_t>
116 requires requires () {
121static constexpr bool all_elements_model_totally_ordered_v =
183 detail::tuple_size<std::remove_reference_t<t>>
185 typename detail::tuple_type_list<std::remove_cvref_t<t>>::type;
191 requires (std::tuple_size<std::remove_reference_t<t>>::value == 0)
Provides various type traits on generic types.
typename tuple_type_list< tuple_t >::type tuple_type_list_t
Helper type for seqan3::detail::tuple_type_list.
Definition: concept.hpp:102
constexpr auto all_elements_model_totally_ordered(seqan3::type_list< elements_t... >) -> std::bool_constant<(std::totally_ordered< elements_t > &&... &&true)>
Helper type function to check for std::totally_ordered on all elements of the given tuple type.
Subconcept definition for seqan3::tuple_like to test for std::get-interface.
Subconcept definition for seqan3::tuple_like to test for std::tuple_size-interface.
Whether a type behaves like a tuple with exactly two elements.
Whether a type behaves like a tuple.
The internal SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
Provides seqan3::pod_tuple.
Transformation trait to expose the tuple element types as seqan3::type_list.
Definition: concept.hpp:82
static constexpr auto invoke_to_type_list(std::index_sequence< Is... >)
Helper function to extract the types using the tuple elements.
Definition: concept.hpp:86
decltype(invoke_to_type_list(std::make_index_sequence< std::tuple_size< tuple_t >::value >{})) type
The generated seqan3::type_list.
Definition: concept.hpp:93
Type that contains multiple types.
Definition: type_list.hpp:29
Provides type traits for working with templates.
Provides seqan3::type_list.