SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
gap.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
11#pragma once
12
13#include <cassert>
14
16
17namespace seqan3
18{
19
35class gap : public alphabet_base<gap, 1, char>
36{
37private:
40
42 friend base_t;
43
45 static constexpr char_type rank_to_char(rank_type const)
46 {
47 return '-';
48 }
49
51 static constexpr rank_type char_to_rank(char_type const)
52 {
53 return 0;
54 }
55
56public:
60 constexpr gap() noexcept : base_t{}
61 {}
62 constexpr gap(gap const &) = default;
63 constexpr gap(gap &&) = default;
64 constexpr gap & operator=(gap const &) = default;
65 constexpr gap & operator=(gap &&) = default;
66 ~gap() = default;
67
68 using base_t::base_t;
70};
71
72} // namespace seqan3
Provides seqan3::alphabet_base.
A CRTP-base that makes defining a custom alphabet easier.
Definition alphabet_base.hpp:54
The alphabet of a gap character '-'.
Definition gap.hpp:36
constexpr gap() noexcept
Defaulted.
Definition gap.hpp:60
constexpr gap & operator=(gap &&)=default
Defaulted.
constexpr gap(gap const &)=default
Defaulted.
constexpr gap & operator=(gap const &)=default
Defaulted.
~gap()=default
Defaulted.
constexpr gap(gap &&)=default
Defaulted.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Hide me