Loading...
Searching...
No Matches
complement.hpp
Go to the documentation of this file.
// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
// SPDX-License-Identifier: BSD-3-Clause
#pragma once
#include <ranges>
#include <seqan3/alphabet/nucleotide/concept.hpp>
#include <seqan3/utility/views/deep.hpp>
namespace seqan3::views
{
inline auto const complement = deep{std::views::transform(
[](auto const in)
{
static_assert(nucleotide_alphabet<decltype(in)>,
"The innermost value type must satisfy the nucleotide_alphabet.");
// call element-wise complement from the nucleotide_alphabet
return seqan3::complement(in);
})};
} // 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