66template <
typename pr
inter_t,
typename stream_t,
typename arg_t>
77template <
typename type_t>
78 requires requires (
std::ostream & cout, type_t
const & value) {
93 template <
typename stream_t,
typename arg_t>
94 requires requires (stream_t & stream) { stream.stream; }
95 constexpr void operator()(stream_t & stream, arg_t && arg)
const
97 *stream.stream << arg;
109template <std::
integral
integral_t>
117 template <
typename stream_t>
118 constexpr void operator()(stream_t & stream, integral_t
const arg)
const
126 static_assert(std::same_as<integral_t *, void>,
"This type is not printable.");
144template <
template <
typename>
typename... printer_templates_t>
155 template <
typename stream_t,
typename arg_t,
typename... printers_t>
172 template <
typename stream_t,
174 size_t i = find_index<stream_t, arg_t, printer_templates_t<arg_t>...>()>
229 template <
typename stream_t,
typename arg_t>
231 constexpr void operator()(stream_t & stream, arg_t && arg)
const
234 std::invoke(printer_t{}, stream, std::forward<arg_t>(arg));
Definition default_printer.hpp:67
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Definition default_printer.hpp:27
Definition default_printer.hpp:28
Definition default_printer.hpp:29
Definition default_printer.hpp:30
Definition default_printer.hpp:31
Definition default_printer.hpp:49
Definition default_printer.hpp:32
Definition default_printer.hpp:33
The default printer that is used by seqan3::debug_stream.
Definition default_printer.hpp:221
constexpr void operator()(stream_t &stream, arg_t &&arg) const
The function call operator that is only defined if the type is printable.
Definition default_printer.hpp:231
Definition default_printer.hpp:34
Definition default_printer.hpp:35
Definition default_printer.hpp:37
constexpr void operator()(stream_t &stream, integral_t const arg) const
The function call operator that prints the integral to the stream.
Definition default_printer.hpp:118
Definition default_printer.hpp:38
Definition default_printer.hpp:39
A tag that indicates that no printer was found for the given type.
Definition default_printer.hpp:26
Definition default_printer.hpp:40
The printer_order is a variadic template that defines the order of the printers.
Definition default_printer.hpp:146
static constexpr size_t find_index()
Find the index of the first printer that can print the argument.
Definition default_printer.hpp:156
std::tuple_element_t< i, std::tuple< printer_templates_t< arg_t >..., no_printer_found > > printer_for_t
The type of the printer that can print the argument to the stream.
Definition default_printer.hpp:178
Definition default_printer.hpp:41
Definition default_printer.hpp:43
Definition default_printer.hpp:42
Definition default_printer.hpp:44
Definition default_printer.hpp:45
constexpr void operator()(stream_t &stream, arg_t &&arg) const
The function call operator that prints the value to the stream.
Definition default_printer.hpp:95
Definition default_printer.hpp:47
Definition default_printer.hpp:46
Definition default_printer.hpp:48
Definition default_printer.hpp:50
Definition default_printer.hpp:51