SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
A proxy for an affine score matrix cell. More...
#include <seqan3/alignment/matrix/detail/affine_cell_proxy.hpp>
Public Member Functions | |
Constructors, destructor and assignment | |
affine_cell_proxy ()=default | |
Defaulted. | |
affine_cell_proxy (affine_cell_proxy const &)=default | |
Defaulted. | |
affine_cell_proxy (affine_cell_proxy &&)=default | |
Defaulted. | |
affine_cell_proxy & | operator= (affine_cell_proxy const &)=default |
Defaulted. | |
affine_cell_proxy & | operator= (affine_cell_proxy &&)=default |
Defaulted. | |
~affine_cell_proxy ()=default | |
Defaulted. | |
template<typename other_tuple_t > requires std::constructible_from<tuple_t, other_tuple_t &&> | |
affine_cell_proxy (other_tuple_t &&other) | |
Converting constructor. Initialises from another tuple type. | |
template<typename other_tuple_t > requires std::constructible_from<tuple_t, other_tuple_t const &> | |
affine_cell_proxy (affine_cell_proxy< other_tuple_t > const &other) | |
Converting copy-constructor. | |
template<typename other_tuple_t > requires std::constructible_from<tuple_t, other_tuple_t> | |
affine_cell_proxy (affine_cell_proxy< other_tuple_t > &&other) | |
Converting move-constructor. | |
template<typename other_tuple_t > requires std::assignable_from<tuple_t &, other_tuple_t &&> | |
affine_cell_proxy & | operator= (other_tuple_t &&other) |
Converting assignment. Initialises from another tuple type. | |
template<typename other_tuple_t > requires std::assignable_from<tuple_t &, other_tuple_t const &> | |
affine_cell_proxy & | operator= (affine_cell_proxy< other_tuple_t > const &other) |
Converting copy-assignment. | |
template<typename other_tuple_t > requires std::assignable_from<tuple_t &, other_tuple_t> | |
affine_cell_proxy & | operator= (affine_cell_proxy< other_tuple_t > &&other) |
Converting move-assignment. | |
Score value accessor | |
Specific accessor function to get the respective score value from an affine matrix cell. | |
decltype(auto) | best_score () &noexcept |
Access the best score of the wrapped score matrix cell. | |
decltype(auto) | best_score () const &noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | best_score () &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | best_score () const &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | horizontal_score () &noexcept |
Access the horizontal score of the wrapped score matrix cell. | |
decltype(auto) | horizontal_score () const &noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | horizontal_score () &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | horizontal_score () const &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | vertical_score () &noexcept |
Access the vertical score of the wrapped score matrix cell. | |
decltype(auto) | vertical_score () const &noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | vertical_score () &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | vertical_score () const &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Trace value accessor | |
Specific accessor function to get the respective trace value from an affine matrix cell. | |
decltype(auto) | best_trace () &noexcept |
Access the optimal score of the wrapped score matrix cell. | |
decltype(auto) | best_trace () const &noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | best_trace () &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | best_trace () const &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | horizontal_trace () &noexcept |
Access the horizontal score of the wrapped score matrix cell. | |
decltype(auto) | horizontal_trace () const &noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | horizontal_trace () &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | horizontal_trace () const &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | vertical_trace () &noexcept |
Access the vertical score of the wrapped score matrix cell. | |
decltype(auto) | vertical_trace () const &noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | vertical_trace () &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
decltype(auto) | vertical_trace () const &&noexcept |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Private Types | |
using | score_cell_type = std::conditional_t< affine_score_cell< tuple_t >, tuple_t, std::tuple_element_t< 0, tuple_t > > |
The type of the score cell. | |
using | trace_cell_type = std::conditional_t< affine_score_and_trace_cell< tuple_t >, std::tuple_element_t< 1, tuple_t >, empty_type > |
The type of the trace cell (might be seqan3::detail::empty_type if not defined). | |
Private Member Functions | |
tuple_t & | as_base () &noexcept |
Casts this to the base class type. | |
Static Private Member Functions | |
template<size_t index, typename this_t > requires (index < 3) | |
static constexpr decltype(auto) | get_score_impl (this_t &&me) noexcept |
Implements the get interface for the various calls to receive the score value. | |
template<size_t index, typename this_t > requires (index < 3 && affine_score_and_trace_cell<tuple_t>) | |
static constexpr decltype(auto) | get_trace_impl (this_t &&me) noexcept |
Implements the get interface for the various calls to receive the trace value. | |
Additional Inherited Members | |
Related Symbols inherited from tuple_like | |
size_t | tuple_size_v |
A unary type trait that holds the number of elements in the tuple. | |
tuple_elment_t | |
A transformation trait that holds the type of elements in the tuple. | |
auto && | get (type &&val) |
Return the i-th element of the tuple. | |
A proxy for an affine score matrix cell.
tuple_t | The underlying cell type of the affine alignment matrix; must model seqan3::detail::affine_score_cell or seqan3::detail::affine_score_and_trace_cell. |
This wrapper provides a uniform access to the different elements of the cell within an affine score matrix. This includes the best score, the horizontal gap score and the vertical gap score. In case of a combined alignment matrix including the trace matrix, the interface is extended to also access the best, horizontal, and vertical trace value.
|
inlinestaticconstexprprivatenoexcept |
Implements the get interface for the various calls to receive the score value.
index | The index of the tuple element to get; must be smaller than 3. |
this_t | The perfectly forwarded type of *this . |
[in] | me | The instance of *this . |
|
inlinestaticconstexprprivatenoexcept |
Implements the get interface for the various calls to receive the trace value.
index | The index of the tuple element to get; must be smaller than 3. |
this_t | The perfectly forwarded type of *this . |
[in] | me | The instance of *this . |