27namespace seqan3::detail
39template <
typename algorithm_
id_type>
40inline constexpr std::array<std::array<void *, 0>, 0> compatibility_table{};
64template <
typename config_t>
65concept config_element =
requires {
67 requires std::movable<config_t>;
88template <
typename config1_t,
typename config2_t>
89concept config_element_pipeable_with =
90 config_element<config1_t> && config_element<config2_t>
91 && std::same_as<std::remove_cvref_t<
decltype(config1_t::id)>, std::remove_cvref_t<
decltype(config2_t::id)>>
92 && compatibility_table<std::remove_cvref_t<
decltype(config1_t::id)>>[
static_cast<int32_t
>(config1_t::id)]
93 [
static_cast<int32_t
>(config2_t::id)];
102template <detail::config_element... configs_t>
126template <
typename config1_t,
typename config2_t>
131template <
typename config1_t,
typename... configs2_t>
133 (detail::config_element_pipeable_with<config1_t, configs2_t> && ...);
136template <
typename... configs1_t,
typename config2_t>
138 (detail::config_element_pipeable_with<configs1_t, config2_t> && ...);
141template <
typename... configs1_t,
typename... configs2_t>
Collection of elements to configure an algorithm.
Definition configuration.hpp:42
constexpr bool is_config_element_combineable_v
Helper variable template to test if a configuration element is combineable with another configuration...
Definition core/configuration/detail/concept.hpp:127
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Adds pipe interface to configuration elements.
Definition pipeable_config_element.hpp:29
Provides type traits for working with templates.