SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
tuple.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
2
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
3
// SPDX-License-Identifier: BSD-3-Clause
4
9
10
#pragma once
11
12
#include <concepts>
13
#include <ranges>
14
15
#include <
seqan3/alphabet/concept.hpp
>
16
#include <
seqan3/core/debug_stream/debug_stream_type.hpp
>
17
#include <
seqan3/utility/tuple/concept.hpp
>
18
19
namespace
seqan3
20
{
24
}
// namespace seqan3
25
26
namespace
seqan3::detail
27
{
28
30
template
<
typename
char_t,
typename
tuple_t, std::size_t... I>
31
void
print_tuple(debug_stream_type<char_t> & s, tuple_t && t, std::index_sequence<I...>
const
&)
32
{
33
using
std::get;
34
s <<
'('
;
35
((s << (I == 0 ?
""
:
","
) <<
get<I>
(t)), ...);
36
s <<
')'
;
37
}
38
39
}
// namespace seqan3::detail
40
41
namespace
seqan3
42
{
43
48
template
<tuple_like tuple_t>
49
struct
tuple_printer
<tuple_t>
50
{
61
template
<
typename
stream_t,
typename
arg_t>
62
constexpr
void
operator()
(stream_t & stream, arg_t && arg)
const
63
{
64
detail::print_tuple(stream,
std::forward<arg_t>
(arg),
std::make_index_sequence
<
std::tuple_size_v<tuple_t>
>{});
65
}
66
};
67
69
70
}
// namespace seqan3
concept.hpp
Core alphabet concept and free function/type trait wrappers.
debug_stream_type.hpp
Provides seqan3::debug_stream and related types.
std::forward
T forward(T... args)
std::make_index_sequence
seqan3
The main SeqAn3 namespace.
Definition
aligned_sequence_concept.hpp:26
seqan3::get
constexpr auto const & get(configuration< configs_t... > const &config) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition
configuration.hpp:412
seqan3::tuple_printer< tuple_t >::operator()
constexpr void operator()(stream_t &stream, arg_t &&arg) const
Prints a tuple to a formatted output stream.
Definition
tuple.hpp:62
seqan3::tuple_printer
Definition
default_printer.hpp:51
std::tuple_size_v
T tuple_size_v
concept.hpp
Provides seqan3::tuple_like.
Hide me
Version:
seqan3
core
debug_stream
tuple.hpp
Generated on
for SeqAn3 by
1.17.0