The penalty configuration for aligning the back of the second sequence with a gap. More...
#include <seqan3/alignment/configuration/align_config_aligned_ends.hpp>
Public Member Functions | |
constexpr bool | operator() () const noexcept |
Returns the wrapped value. | |
Public Attributes | |
value_t | value |
The wrapped value. | |
Static Protected Attributes | |
static constexpr bool | is_static |
Used to differentiate between static and dynamic state. | |
static constexpr bool | static_value |
Holds the static value if the state is static. | |
Related Functions | |
(Note that these are not member functions.) | |
Type deduction guides | |
template<typename value_t > | |
back_end_second (value_t) -> back_end_second< value_t > | |
Deduces the template argument from the type of the wrapped value. | |
The penalty configuration for aligning the back of the second sequence with a gap.
value_t | The type of the value to be wrapped. Can be of type std::true_type, std::false_type or bool. |
value_t | The type of the value to be wrapped. Can be of type std::true_type, std::false_type or bool. |
This strong type enables (false
) or disables (true
) penalties for aligning the respective sequence end with gaps. If one constructs this element with a std::integral_constant it will convert to a static type such that compile time optimisations can be used. If the type is constructed from a bool it will convert to a dynamic type but will be converted to a static type during the configuration of the pairwise alignment algorithm. Using a bool
allows to dynamically set the value if the option is only known at runtime. If the option is already known at compile time the static version will be the preferred option.