SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
align_config_scoring_scheme.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 <concepts>
14
19
20namespace seqan3::align_cfg
21{
22
40template <std::semiregular scoring_scheme_t>
42{
43public:
45 scoring_scheme_t scheme{};
46
50 constexpr scoring_scheme() = default;
51 constexpr scoring_scheme(scoring_scheme const &) = default;
52 constexpr scoring_scheme(scoring_scheme &&) = default;
53 constexpr scoring_scheme & operator=(scoring_scheme const &) = default;
54 constexpr scoring_scheme & operator=(scoring_scheme &&) = default;
55 ~scoring_scheme() = default;
56
64 explicit constexpr scoring_scheme(scoring_scheme_t scheme) : scheme{std::move(scheme)}
65 {}
67
71};
72
79template <typename scheme_t>
82
83} // namespace seqan3::align_cfg
Provides some utility functions for the alignment configurations.
Provides various type traits on generic types.
Sets the scoring scheme for the alignment algorithm.
Definition align_config_scoring_scheme.hpp:42
constexpr scoring_scheme(scoring_scheme_t scheme)
Initialises the scoring scheme config with the given scheme.
Definition align_config_scoring_scheme.hpp:64
scoring_scheme(scheme_t) -> scoring_scheme< std::remove_cvref_t< scheme_t > >
Deduces the scoring scheme type from the constructor argument.
scoring_scheme_t scheme
The scoring scheme to be used in the alignment algorithm.
Definition align_config_scoring_scheme.hpp:45
constexpr scoring_scheme & operator=(scoring_scheme &&)=default
Defaulted.
constexpr scoring_scheme()=default
Defaulted.
constexpr scoring_scheme & operator=(scoring_scheme const &)=default
Defaulted.
constexpr scoring_scheme(scoring_scheme const &)=default
Defaulted.
constexpr scoring_scheme(scoring_scheme &&)=default
Defaulted.
~scoring_scheme()=default
Defaulted.
align_config_id
An internal enum to check for a consistent configuration object.
Definition alignment/configuration/detail.hpp:21
@ scoring
ID for the scoring_scheme option.
A special sub namespace for the alignment configurations.
Definition align_config_band.hpp:22
SeqAn specific customisations in the standard namespace.
Provides seqan3::pipeable_config_element.
Provides seqan3::scoring_scheme_for.
Adds pipe interface to configuration elements.
Definition pipeable_config_element.hpp:29
Hide me