SeqAn3  3.0.2
The Modern C++ library for sequence analysis.
policy_scoring_scheme.hpp
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2020, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2020, Knut Reinert & MPI für molekulare Genetik
4 // This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5 // shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6 // -----------------------------------------------------------------------------------------------------
7 
13 #pragma once
14 
16 
17 namespace seqan3::detail
18 {
19 
31 template <typename alignment_configuration_t, typename scoring_scheme_t>
32 class policy_scoring_scheme
33 {
34 protected:
36  scoring_scheme_t scoring_scheme{};
37 
41  policy_scoring_scheme() = default;
42  policy_scoring_scheme(policy_scoring_scheme const &) = default;
43  policy_scoring_scheme(policy_scoring_scheme &&) = default;
44  policy_scoring_scheme & operator=(policy_scoring_scheme const &) = default;
45  policy_scoring_scheme & operator=(policy_scoring_scheme &&) = default;
46  ~policy_scoring_scheme() = default;
47 
51  explicit policy_scoring_scheme(alignment_configuration_t const & config) :
52  scoring_scheme{seqan3::get<align_cfg::scoring_scheme>(config).scheme}
53  {}
55 };
56 
57 } // namespace seqan3::detail
align_config_scoring_scheme.hpp
Provides seqan3::align_cfg::scoring_scheme.