|
|
constexpr | configuration ()=default |
| Defaulted.
|
|
constexpr | configuration (configuration const &)=default |
| Defaulted.
|
|
constexpr | configuration (configuration &&)=default |
| Defaulted.
|
|
constexpr configuration & | operator= (configuration const &)=default |
| Defaulted.
|
|
constexpr configuration & | operator= (configuration &&)=default |
| Defaulted.
|
|
| ~configuration ()=default |
| Defaulted.
|
|
template<typename config_element_t >
requires (!std::same_as<std::remove_cvref_t<config_element_t>, configuration>) && detail::config_element<std::remove_cvref_t<config_element_t>> |
constexpr | configuration (config_element_t &&config_element) |
| Constructs a configuration from a single configuration element.
|
|
|
constexpr size_t | size () const noexcept |
| Returns the number of contained config elements.
|
|
T | operator= (T... args) |
|
T | swap (T... args) |
|
T | tuple (T... args) |
|
|
(Note that these are not member functions.)
|
template<typename lhs_config_t , typename rhs_config_t > |
constexpr auto | operator| (lhs_config_t &&lhs, rhs_config_t &&rhs) |
| Combines two configurations and/or configuration elements forming a new seqan3::configuration.
|
|
|
template<detail::config_element config_t> |
| configuration (config_t) -> configuration< config_t > |
| Deduces the correct configuration element type from the passed seqan3::pipeable_config_element.
|
|
|
template<template< typename... > class query_t, typename... configs_t> |
constexpr auto & | get (configuration< configs_t... > &config) noexcept |
| Returns the stored element.
|
|
|
template<typename alternative_t > |
constexpr decltype(auto) | get_or (alternative_t &&alternative) &noexcept |
| Returns the stored configuration element if present otherwise the given alternative.
|
|
template<typename alternative_t > |
constexpr decltype(auto) | get_or (alternative_t &&alternative) const &noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
template<typename alternative_t > |
constexpr decltype(auto) | get_or (alternative_t &&alternative) &&noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
template<typename alternative_t > |
constexpr decltype(auto) | get_or (alternative_t &&alternative) const &&noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
template<typename query_t > |
static constexpr bool | exists () noexcept |
| Checks if the given type exists in the tuple.
|
|
template<template< typename... > typename query_t> |
static constexpr bool | exists () noexcept |
| Checks if the given type exists in the tuple.
|
|
|
Note that modifications return new configurations and do not modify this .
|
template<typename other_configuration_t >
requires (is_config_element_combineable_v<configs_t, std::remove_cvref_t<other_configuration_t>> && ...) |
constexpr auto | append (other_configuration_t &&other_config) const |
| Returns a new configuration by appending the given configuration to the current one.
|
|
template<typename query_t >
requires (exists<query_t>()) |
constexpr auto | remove () const |
| Remove a config element from the configuration.
|
|
template<template< typename... > typename query_t>
requires (exists<query_t>()) |
constexpr auto | remove () const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
template<detail::config_element... configs_t>
class seqan3::configuration< configs_t >
Collection of elements to configure an algorithm.
- Template Parameters
-
configs_t | Template parameter pack containing all configuration elements; Must model seqan3::detail::config_element |
This class provides a unified interface to create and query such configurations for a specific algorithm. It extends the standard tuple interface with some useful functions to modify and query the user configurations.