33template <
size_t beg,
template <
typename...>
typename tuple_t,
size_t...
Is,
typename...
ts>
37#pragma GCC diagnostic push
38#pragma GCC diagnostic ignored "-Wmissing-braces"
39 return tuple_t<std::tuple_element_t<
beg +
Is, tuple_t<
ts...>>...>{std::get<beg + Is>(t)...};
40#pragma GCC diagnostic pop
44template <
size_t beg,
template <
typename...>
typename tuple_t,
size_t...
Is,
typename...
ts>
48#pragma GCC diagnostic push
49#pragma GCC diagnostic ignored "-Wmissing-braces"
50 return tuple_t<std::tuple_element_t<
beg +
Is, tuple_t<
ts...>>...>{std::move(std::get<beg + Is>(t))...};
51#pragma GCC diagnostic pop
85template <
size_t pivot_c,
template <
typename...>
typename tuple_t,
typename...
ts>
89 static_assert(
pivot_c <=
sizeof...(ts));
91#pragma GCC diagnostic push
92#pragma GCC diagnostic ignored "-Wmissing-braces"
95#pragma GCC diagnostic pop
99template <
size_t pivot_c,
template <
typename...>
typename tuple_t,
typename...
ts>
103 static_assert(
pivot_c <=
sizeof...(ts));
104#pragma GCC diagnostic push
105#pragma GCC diagnostic ignored "-Wmissing-braces"
108#pragma GCC diagnostic pop
137template <
typename pivot_t, tuple_like tuple_t>
140 constexpr size_t pivot_c = list_traits::find<pivot_t, detail::tuple_type_list_t<std::remove_cvref_t<tuple_t>>>;
constexpr auto tuple_split(tuple_t< ts... > const &t, std::index_sequence< Is... > const &idx)
Helper function for seqan3::tuple_split.
Definition split.hpp:35
constexpr auto tuple_split(tuple_t< ts... > const &t)
Splits a tuple like data structure at the given position.
Definition split.hpp:87
Whether a type behaves like a tuple.
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
constexpr auto const & get(configuration< configs_t... > const &config) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition configuration.hpp:412
Provides traits for seqan3::type_list.
Provides seqan3::tuple_like.