SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
complement.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 <ranges>
13
14
#include <
seqan3/alphabet/nucleotide/concept.hpp
>
15
#include <
seqan3/utility/views/deep.hpp
>
16
17
namespace
seqan3::views
18
{
63
64
inline
auto
const
complement
=
deep
{std::views::transform(
65
[](
auto
const
in)
66
{
67
static_assert
(
nucleotide_alphabet
<
decltype
(in)>,
68
"The innermost value type must satisfy the nucleotide_alphabet."
);
69
// call element-wise complement from the nucleotide_alphabet
70
return
seqan3::complement
(in);
71
})};
72
73
}
// namespace seqan3::views
concept.hpp
Provides seqan3::nucleotide_alphabet.
seqan3::views::deep
A wrapper type around an existing view adaptor that enables "deep view" behaviour for that view.
Definition
deep.hpp:101
deep.hpp
Provides seqan3::views::deep.
seqan3::complement
constexpr auto complement
Return the complement of a nucleotide object.
Definition
alphabet/nucleotide/concept.hpp:102
seqan3::views::complement
auto const complement
A view that converts a range of nucleotides to their complement.
Definition
complement.hpp:64
nucleotide_alphabet
A concept that indicates whether an alphabet represents nucleotides.
seqan3::views
The SeqAn namespace for views.
Definition
char_strictly_to.hpp:19
Hide me
Version:
seqan3
alphabet
views
complement.hpp
Generated on
for SeqAn3 by
1.17.0