Loading...
Searching...
No Matches
align_config_on_result.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 <type_traits>
#include <seqan3/alignment/configuration/detail.hpp>
#include <seqan3/contrib/std/detail/movable_box.hpp>
#include <seqan3/core/configuration/pipeable_config_element.hpp>
namespace seqan3::align_cfg
{
template <std::move_constructible callback_t>
class on_result : private seqan3::pipeable_config_element
{
public:
seqan::stl::detail::movable_box_t<callback_t> callback; // Allows lambdas with capture blocks.
constexpr on_result() = default;
constexpr on_result(on_result const &) = default;
constexpr on_result(on_result &&) = default;
constexpr on_result & operator=(on_result const &) = default;
constexpr on_result & operator=(on_result &&) = default;
~on_result() = default;
constexpr explicit on_result(callback_t && callback) : callback{std::forward<callback_t>(callback)}
{}
static constexpr seqan3::detail::align_config_id id{seqan3::detail::align_config_id::on_result};
};
template <std::move_constructible callback_t>
on_result(callback_t &&) -> on_result<std::decay_t<callback_t>>;
} // namespace seqan3::align_cfg
detail.hpp
Provides some utility functions for the alignment configurations.
seqan3::align_cfg::on_result
Configuration element to provide a user defined callback function for the alignment.
Definition align_config_on_result.hpp:51
seqan3::align_cfg::on_result::~on_result
~on_result()=default
Defaulted.
seqan3::align_cfg::on_result::callback
seqan::stl::detail::movable_box_t< callback_t > callback
The stored callable which will be invoked with the alignment result.
Definition align_config_on_result.hpp:54
seqan3::align_cfg::on_result::on_result
constexpr on_result()=default
Defaulted.
seqan3::align_cfg::on_result::on_result
constexpr on_result(on_result &&)=default
Defaulted.
seqan3::align_cfg::on_result::operator=
constexpr on_result & operator=(on_result &&)=default
Defaulted.
seqan3::align_cfg::on_result::operator=
constexpr on_result & operator=(on_result const &)=default
Defaulted.
seqan3::align_cfg::on_result::on_result
constexpr on_result(callback_t &&callback)
Constructs the configuration element with the given user callback.
Definition align_config_on_result.hpp:69
seqan3::align_cfg::on_result::on_result
constexpr on_result(on_result const &)=default
Defaulted.
seqan3::align_cfg
A special sub namespace for the alignment configurations.
Definition align_config_band.hpp:22
seqan3::align_cfg::on_result
on_result(callback_t &&) -> on_result< std::decay_t< callback_t > >
Deduces the callback type from a forwarding constructor argument.
std
SeqAn specific customisations in the standard namespace.
pipeable_config_element.hpp
Provides seqan3::pipeable_config_element.
seqan3::pipeable_config_element
Adds pipe interface to configuration elements.
Definition pipeable_config_element.hpp:29
type_traits
Hide me