SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
align_config_on_result.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 <type_traits>
13
17
18namespace seqan3::align_cfg
19{
20
49template <std::copy_constructible callback_t>
51{
52public:
54 seqan3::detail::copyable_wrapper_t<callback_t> callback; // Allows lambdas with capture blocks.
55
59 constexpr on_result() = default;
60 constexpr on_result(on_result const &) = default;
61 constexpr on_result(on_result &&) = default;
62 constexpr on_result & operator=(on_result const &) = default;
63 constexpr on_result & operator=(on_result &&) = default;
64 ~on_result() = default;
65
69 constexpr explicit on_result(callback_t && callback) : callback{std::forward<callback_t>(callback)}
70 {}
72
75 static constexpr seqan3::detail::align_config_id id{seqan3::detail::align_config_id::on_result};
76};
77
82template <std::copy_constructible callback_t>
85} // namespace seqan3::align_cfg
Provides some utility functions for the alignment configurations.
Configuration element to provide a user defined callback function for the alignment.
Definition align_config_on_result.hpp:51
~on_result()=default
Defaulted.
constexpr on_result()=default
Defaulted.
constexpr on_result(on_result &&)=default
Defaulted.
constexpr on_result & operator=(on_result &&)=default
Defaulted.
constexpr on_result & operator=(on_result const &)=default
Defaulted.
constexpr on_result(callback_t &&callback)
Constructs the configuration element with the given user callback.
Definition align_config_on_result.hpp:69
constexpr on_result(on_result const &)=default
Defaulted.
seqan3::detail::copyable_wrapper_t< callback_t > callback
The stored callable which will be invoked with the alignment result.
Definition align_config_on_result.hpp:54
Provides seqan3::detail::copyable_wrapper.
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.
Adds pipe interface to configuration elements.
Definition pipeable_config_element.hpp:29
Hide me