SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
mask.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 <cassert>
13
15
16namespace seqan3
17{
34class mask : public alphabet_base<mask, 2, void>
35{
36private:
39
41 friend base_t;
42
43public:
47 constexpr mask() = default;
48 constexpr mask(mask const &) = default;
49 constexpr mask(mask &&) = default;
50 constexpr mask & operator=(mask const &) = default;
51 constexpr mask & operator=(mask &&) = default;
52 ~mask() = default;
53
55
61
65 static const mask unmasked;
66
71 static const mask masked;
73};
74
75constexpr mask mask::unmasked{mask{}.assign_rank(0)};
76constexpr mask mask::masked{mask{}.assign_rank(1)};
77} // namespace seqan3
Provides seqan3::alphabet_base.
A CRTP-base that makes defining a custom alphabet easier.
Definition alphabet_base.hpp:54
constexpr derived_type & assign_rank(rank_type const c) noexcept
Assign from a numeric value.
Definition alphabet_base.hpp:184
Implementation of a masked alphabet to be used for tuple composites.
Definition mask.hpp:35
static const mask masked
Member for masked.
Definition mask.hpp:71
constexpr mask & operator=(mask const &)=default
Defaulted.
constexpr mask(mask &&)=default
Defaulted.
constexpr mask(mask const &)=default
Defaulted.
constexpr mask()=default
Defaulted.
~mask()=default
Defaulted.
static const mask unmasked
Member for unmasked.
Definition mask.hpp:65
constexpr mask & operator=(mask &&)=default
Defaulted.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Hide me