33 template <
typename char_t,
typename tuple_t,
std::size_t ...I>
38 ((s << (I == 0 ?
"" :
",") << get<I>(t)), ...);
53 template <
typename tuple_t>
69 template <
typename char_t,
typename tuple_t>
71 requires (detail::debug_streamable_tuple<tuple_t>)
73 inline debug_stream_type<char_t> &
operator<<(debug_stream_type<char_t> & s, tuple_t && t)
Core alphabet concept and free function/type trait wrappers.
A "pretty printer" for most SeqAn data structures and related types.
Definition: debug_stream_type.hpp:76
Provides seqan3::debug_stream and related types.
debug_stream_type< char_t > & operator<<(debug_stream_type< char_t > &stream, alignment_t &&alignment)
Stream operator for alignments, which are represented as tuples of aligned sequences.
Definition: debug_stream_alignment.hpp:103
constexpr auto get
A view calling get on each element in a range.
Definition: get.hpp:26
The generic alphabet concept that covers most data types used in ranges.
A helper concept to avoid ambiguous overloads with the debug stream operator for alignments.
Whether a type behaves like a tuple.
The internal SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
void print_tuple(debug_stream_type< char_t > &s, tuple_t &&t, std::index_sequence< I... > const &)
Helper function to print elements of a tuple separately.
Definition: debug_stream_tuple.hpp:34
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
Adaptations of concepts from the Ranges TS.
Provides seqan3::tuple_like.