77template <
typename char_t =
char>
125 assert(
stream !=
nullptr);
134 template <
typename other_
char_t,
typename t>
143 std::string const msg =
"debug_stream has no print overload for type: " + detail::type_name_as_string<t>;
158 template <
typename T>
161 template <
typename T>
180 return stream->flags(flgs);
245template <
typename value_t>
246 requires (std::is_same_v<std::remove_cvref_t<value_t>, int8_t>
247 || std::is_same_v<std::remove_cvref_t<value_t>, uint8_t>
248 || std::is_same_v<std::remove_cvref_t<value_t>,
fmtflags2>)
261 template <
typename char_t>
265 *stream.
stream <<
static_cast<int>(v);
280 template <
typename char_t>
284 *stream.
stream <<
static_cast<unsigned>(v);
297 template <
typename char_t>
Provides seqan3::add_enum_bitwise_operators.
A "pretty printer" for most SeqAn data structures and related types.
Definition debug_stream_type.hpp:79
debug_stream_type & operator<<(std::ostream &(*fp)(std::ostream &))
This overloads enables forwarding std::endl and other manipulators.
Definition debug_stream_type.hpp:150
fmtflags2 flags2() const
Retrieve the format flags from the stream.
Definition debug_stream_type.hpp:202
debug_stream_type & operator=(debug_stream_type const &)=default
Defaulted.
fmtflags2 flags2(fmtflags2 flgs)
Replace the current flags on the stream with the given argument.
Definition debug_stream_type.hpp:208
constexpr debug_stream_type(std::basic_ostream< char_t > &out)
Construction from an output stream.
Definition debug_stream_type.hpp:93
typename std::basic_ostream< char_t >::fmtflags fmtflags
This type is std::ios_base::fmtflags.
Definition debug_stream_type.hpp:165
void unsetf(fmtflags const flag)
Unset the format flag(s) on the stream.
Definition debug_stream_type.hpp:190
~debug_stream_type()=default
Defaulted.
void setf(fmtflags2 const flag)
Set the format flag(s) on the stream (current flags are ORed with the argument).
Definition debug_stream_type.hpp:215
debug_stream_type(debug_stream_type const &)=default
Defaulted.
fmtflags flags(fmtflags const flgs)
Replace the current flags on the stream with the given argument.
Definition debug_stream_type.hpp:178
std::basic_ostream< char_t > * stream
Pointer to the output stream.
Definition debug_stream_type.hpp:230
debug_stream_type()=default
Defaulted.
void setf(fmtflags const flag)
Set the format flag(s) on the stream (current flags are ORed with the argument).
Definition debug_stream_type.hpp:184
debug_stream_type(debug_stream_type &&)=default
Defaulted.
std::basic_ostream< char_t > & get_underlying_stream() const noexcept
Retrieve the underlying stream.
Definition debug_stream_type.hpp:123
fmtflags2 flgs2
The SeqAn specific flags to the stream.
Definition debug_stream_type.hpp:233
fmtflags flags() const
Retrieve the format flags from the stream.
Definition debug_stream_type.hpp:172
friend debug_stream_type< other_char_t > & operator<<(debug_stream_type< other_char_t > &s, t &&v)
Forwards to the underlying stream object.
Definition debug_stream_type.hpp:135
debug_stream_type & operator=(debug_stream_type &&)=default
Defaulted.
void unsetf(fmtflags2 const flag)
Unset the format flag(s) on the stream.
Definition debug_stream_type.hpp:221
void set_underlying_stream(std::basic_ostream< char_t > &out)
Change the underlying output stream.
Definition debug_stream_type.hpp:117
Definition default_printer.hpp:67
Provides seqan3::default_printer.
fmtflags2
Flags that change the behaviour of the seqan3::debug_stream.
Definition debug_stream_type.hpp:32
@ utf8
Enables use of non-ASCII UTF8 characters in formatted output.
@ flag
The alignment flag (bit information), uint16_t value.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
constexpr bool add_enum_bitwise_operators< fmtflags2 >
Overload bitwise operators for seqan3::fmtflags2.
Definition debug_stream_type.hpp:44
constexpr void operator()(debug_stream_type< char_t > &stream, uint8_t const v) const
Prints a uint8_t value to the debug stream.
Definition debug_stream_type.hpp:281
constexpr void operator()(debug_stream_type< char_t > &stream, int8_t const v) const
Prints an int8_t value to the debug stream.
Definition debug_stream_type.hpp:262
constexpr void operator()(debug_stream_type< char_t > &stream, fmtflags2 const flag) const
Sets the fmtflags2 of the debug stream.
Definition debug_stream_type.hpp:298
Definition default_printer.hpp:33
The default printer that is used by seqan3::debug_stream.
Definition default_printer.hpp:219
Definition default_printer.hpp:47
Provides traits to inspect some information of a type, for example its name.