|
|
The standard functions are explicitly set to default.
|
| debug_stream_type ()=default |
| Defaulted.
|
|
| debug_stream_type (debug_stream_type const &)=default |
| Defaulted.
|
|
| debug_stream_type (debug_stream_type &&)=default |
| Defaulted.
|
|
debug_stream_type & | operator= (debug_stream_type const &)=default |
| Defaulted.
|
|
debug_stream_type & | operator= (debug_stream_type &&)=default |
| Defaulted.
|
|
| ~debug_stream_type ()=default |
| Defaulted.
|
|
constexpr | debug_stream_type (std::basic_ostream< char_t > &out) |
| Construction from an output stream.
|
|
|
void | set_underlying_stream (std::basic_ostream< char_t > &out) |
| Change the underlying output stream. More...
|
|
|
std::ios_base::fmtflags that modify the stream's behaviour.
|
fmtflags | flags () const |
| Retrieve the format flags from the stream.
|
|
fmtflags | flags (fmtflags const flgs) |
| Replace the current flags on the stream with the given argument.
|
|
void | setf (fmtflags const flag) |
| Set the format flag(s) on the stream (current flags are ORed with the argument).
|
|
void | unsetf (fmtflags const flag) |
| Unset the format flag(s) on the stream.
|
|
debug_stream_type & | operator<< (fmtflags const flag) |
| Set the format flag(s) on the stream (current flags are ORed with the argument).
|
|
|
SeqAn specific debug flags for the debug stream.
|
fmtflags2 | flags2 () const |
| Retrieve the format flags from the stream.
|
|
fmtflags2 | flags2 (fmtflags2 flgs) |
| Replace the current flags on the stream with the given argument.
|
|
void | setf (fmtflags2 const flag) |
| Set the format flag(s) on the stream (current flags are ORed with the argument).
|
|
void | unsetf (fmtflags2 const flag) |
| Unset the format flag(s) on the stream.
|
|
debug_stream_type & | operator<< (fmtflags2 const flag) |
| Set the format flag(s) on the stream (current flags are ORed with the argument).
|
|
|
(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 > |
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 tuple_t > |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, tuple_t &&t) |
| All tuples can be printed by printing their elements separately. More...
|
|
template<typename char_t , typename alignment_result_t > |
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 search_result_t > |
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 , alphabet alphabet_t> |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, alphabet_t &&l) |
| All alphabets can be printed to the seqan3::debug_stream by their char representation. More...
|
|
template<typename char_t , seqan3::semialphabet alphabet_t> |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, alphabet_t &&l) |
| Overload for the seqan3::mask alphabet. More...
|
|
template<typename char_t , typename 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 > |
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 > |
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) |
| All input ranges can be printed to the seqan3::debug_stream element-wise (if their elements are printable). More...
|
|
template<typename char_t , sequence sequence_t> |
debug_stream_type< char_t > & | operator<< (debug_stream_type< char_t > &s, sequence_t &&sequence) |
| All biological sequences can be printed to the seqan3::debug_stream. More...
|
|
template<typename char_t , typename variant_type > |
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...
|
|
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: 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]".