|
(Note that these are not member functions.)
|
template<typename char_t , detail::matrix alignment_matrix_t> |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, alignment_matrix_t &&matrix) |
| An alignment matrix can be printed to the seqan3::debug_stream. More...
|
|
template<typename char_t , typename coordinate_type > |
requires detail::is_value_specialisation_of_v< std::remove_cvref_t< coordinate_type >, detail::advanceable_alignment_coordinate > debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, coordinate_type &&c) |
| A seqan3::detail::advanceable_alignment_coordinate can be printed to the seqan3::debug_stream. More...
|
|
template<typename char_t > |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, detail::trace_directions const trace) |
| All trace_directions can be printed as ascii or as utf8 to the seqan3::debug_stream. More...
|
|
template<typename char_t , typename alignment_result_t > |
requires detail::is_type_specialisation_of_v< std::remove_cvref_t< alignment_result_t >, alignment_result > debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &stream, alignment_result_t &&result) |
| Streams the seqan3::alignment_result to the seqan3::debug_stream. More...
|
|
template<typename char_t > |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &stream, sam_flag const flag) |
| Overload for the seqan3::sam_flags. More...
|
|
template<typename char_t , typename tuple_t > |
| requires (detail::debug_streamable_tuple< tuple_t >) inline debug_stream_type< char_t > &operator<<(debug_stream_type< char_t > &s |
| All tuples can be printed by printing their elements separately. More...
|
|
|
template<typename char_t , alphabet alphabet_t> |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, alphabet_t &&l) requires(!output_stream_over< std |
| All alphabets can be printed to the seqan3::debug_stream by their char representation. More...
|
|
template<typename char_t , typename option_type > |
requires named_enumeration< std::remove_cvref_t< option_type > > debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, option_type &&op) |
| A type (e.g. an enum) can be made debug streamable by customizing the seqan3::enumeration_names. More...
|
|
template<typename char_t , typename byte_type > |
requires std::same_as< std::remove_cvref_t< byte_type >, std::byte > debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, byte_type &&arg) |
| A std::byte can be printed by printing its value as integer. More...
|
|
template<typename char_t > |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, std::nullopt_t arg) |
| Make std::nullopt_t printable. More...
|
|
template<typename char_t , typename optional_type > |
requires detail::is_type_specialisation_of_v< std::remove_cvref_t< optional_type >, std::optional > debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, optional_type &&arg) |
| A std::optional can be printed by printing its value or nothing if valueless. More...
|
|
template<typename char_t , std::ranges::input_range rng_t> |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, rng_t &&r) requires detail |
| All input ranges can be printed to the seqan3::debug_stream element-wise (if their elements are printable). More...
|
|
template<typename char_t , typename variant_type > |
requires detail::is_type_specialisation_of_v< std::remove_cvref_t< variant_type >, std::variant > debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, variant_type &&v) |
| A std::variant can be printed by visiting the stream operator for the corresponding type. More...
|
|
|
Returns the index cursor pointing to the suffix array range where the query was found.
- See also
- seqan3::fm_index_cursor
-
seqan3::bi_fm_index_cursor
Returns the reference id where the query was found. \details
The reference id is an arithmetic value that corresponds to the index of the reference text in the index.
The order is determined on construction of the index.
|
template<typename char_t , typename search_result_t > |
requires detail::is_type_specialisation_of_v< std::remove_cvref_t< search_result_t >, search_result > debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &stream, search_result_t &&result) |
| Print the seqan3::search_result to seqan3::debug_stream. More...
|
|
template<typename char_t = char>
class seqan3::debug_stream_type< char_t >
A "pretty printer" for most SeqAn data structures and related types.
A global instance of this type exists as seqan3::debug_stream. You can stream to it as you would to std::cout or std::cerr, but the debug stream has special overloads that make certain types streamable (that are not streamable to std::cout). Additionally some data structures are visualised more elaborately via the debug stream and there are extra flags to configure it (seqan3::fmtflags2).
- See also
- Debug Stream
Example
Simple usage:
int main()
{
}
Provides seqan3::debug_stream and related types.
Provides seqan3::dna5, container aliases and string literals.
auto const to_rank
A view that calls seqan3::to_rank() on each element in the input range.
Definition: to_rank.hpp:66
constexpr auto to_char
Return the char representation of an alphabet object.
Definition: alphabet/concept.hpp:386
debug_stream_type debug_stream
A global instance of seqan3::debug_stream_type.
Definition: debug_stream.hpp:37
The SeqAn namespace for literals.
Provides seqan3::views::to_rank.
Changing flags:
int main()
{
uint8_t i = 71;
}
void unsetf(fmtflags const flag)
Unset the format flag(s) on the stream.
Definition: debug_stream_type.hpp:183
@ small_int_as_number
Definition: debug_stream_type.hpp:34
See seqan3::fmtflags2 for more details.
- Attention
- This class does not yet model seqan3::output_stream_over fully,
- Todo:
- implement.
template<typename char_t , std::ranges::input_range rng_t>
All input ranges can be printed to the seqan3::debug_stream element-wise (if their elements are printable).
- Template Parameters
-
rng_t | Type of the range to be printed; must model std::ranges::input_range. |
- Parameters
-
If the element type models seqan3::alphabet (and is not an unsigned integer), the range is printed just as if it were a string, i.e. std::vector<dna4>{'C'_dna4, 'G'_dna4, 'A'_dna4}
is printed as "CGA".
In all other cases the elements are comma separated and the range is enclosed in brackets, i.e. std::vector<int>{3, 1, 33, 7}
is printed as "[3,1,33,7]".
All biological sequences can be printed to the seqan3::debug_stream.
- Template Parameters
-
sequence_t | Type of the (biological) sequence to be printed; must model seqan3::sequence. |
- Parameters
-
The (biological) sequence (except for ranges over unsigned integers) is printed just as if it were a string, i.e. std::vector<dna4>{'C'_dna4, 'G'_dna4, 'A'_dna4}
is printed as "CGA".