Loading...
Searching...
No Matches
align_config_scoring_scheme.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 <concepts>
#include <seqan3/alignment/configuration/detail.hpp>
#include <seqan3/alignment/scoring/scoring_scheme_concept.hpp>
#include <seqan3/core/configuration/pipeable_config_element.hpp>
#include <seqan3/utility/type_traits/basic.hpp>
namespace seqan3::align_cfg
{
template <std::semiregular scoring_scheme_t>
class scoring_scheme : private pipeable_config_element
{
public:
scoring_scheme_t scheme{};
constexpr scoring_scheme() = default;
constexpr scoring_scheme(scoring_scheme const &) = default;
constexpr scoring_scheme(scoring_scheme &&) = default;
constexpr scoring_scheme & operator=(scoring_scheme const &) = default;
constexpr scoring_scheme & operator=(scoring_scheme &&) = default;
~scoring_scheme() = default;
explicit constexpr scoring_scheme(scoring_scheme_t scheme) : scheme{std::move(scheme)}
{}
static constexpr seqan3::detail::align_config_id id{seqan3::detail::align_config_id::scoring};
};
template <typename scheme_t>
scoring_scheme(scheme_t) -> scoring_scheme<std::remove_cvref_t<scheme_t>>;
} // namespace seqan3::align_cfg
detail.hpp
Provides some utility functions for the alignment configurations.
basic.hpp
Provides various type traits on generic types.
seqan3::align_cfg::scoring_scheme::scoring_scheme
constexpr scoring_scheme(scoring_scheme_t scheme)
Initialises the scoring scheme config with the given scheme.
Definition align_config_scoring_scheme.hpp:64
seqan3::align_cfg::scoring_scheme::scoring_scheme
scoring_scheme(scheme_t) -> scoring_scheme< std::remove_cvref_t< scheme_t > >
Deduces the scoring scheme type from the constructor argument.
seqan3::align_cfg::scoring_scheme::scheme
scoring_scheme_t scheme
The scoring scheme to be used in the alignment algorithm.
Definition align_config_scoring_scheme.hpp:45
seqan3::align_cfg::scoring_scheme::operator=
constexpr scoring_scheme & operator=(scoring_scheme &&)=default
Defaulted.
seqan3::align_cfg::scoring_scheme::scoring_scheme
constexpr scoring_scheme()=default
Defaulted.
seqan3::align_cfg::scoring_scheme::operator=
constexpr scoring_scheme & operator=(scoring_scheme const &)=default
Defaulted.
seqan3::align_cfg::scoring_scheme::scoring_scheme
constexpr scoring_scheme(scoring_scheme const &)=default
Defaulted.
seqan3::align_cfg::scoring_scheme::scoring_scheme
constexpr scoring_scheme(scoring_scheme &&)=default
Defaulted.
seqan3::align_cfg::scoring_scheme::~scoring_scheme
~scoring_scheme()=default
Defaulted.
seqan3::align_cfg
A special sub namespace for the alignment configurations.
Definition align_config_band.hpp:22
std
SeqAn specific customisations in the standard namespace.
pipeable_config_element.hpp
Provides seqan3::pipeable_config_element.
scoring_scheme_concept.hpp
Provides seqan3::scoring_scheme_for.
seqan3::pipeable_config_element
Adds pipe interface to configuration elements.
Definition pipeable_config_element.hpp:29
Hide me