SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
complement.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
12#include <ranges>
13
16
17namespace seqan3::views
18{
64inline 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
Provides seqan3::nucleotide_alphabet.
A wrapper type around an existing view adaptor that enables "deep view" behaviour for that view.
Definition deep.hpp:101
Provides seqan3::views::deep.
constexpr auto complement
Return the complement of a nucleotide object.
Definition alphabet/nucleotide/concept.hpp:102
auto const complement
A view that converts a range of nucleotides to their complement.
Definition complement.hpp:64
A concept that indicates whether an alphabet represents nucleotides.
The SeqAn namespace for views.
Definition char_strictly_to.hpp:19
Hide me