SeqAn3  3.0.3
The Modern C++ library for sequence analysis.
seqan3::match_score< score_type > Struct Template Reference

A strong type of underlying type score_type that represents the score of two matching characters. More...

#include <seqan3/alignment/scoring/scoring_scheme_base.hpp>

+ Inheritance diagram for seqan3::match_score< score_type >:

Public Types

using value_type = score_type
 The underlying value type.
 

Public Member Functions

Accessor.
constexpr score_type & get () &noexcept
 Returns the underlying value.
 
constexpr score_type const & get () const &noexcept
 Returns the underlying value.
 
constexpr score_type && get () &&noexcept
 Returns the underlying value as rvalue.
 
constexpr score_type const && get () const &&noexcept
 Returns the underlying value as rvalue.
 
Arithmetic additive operators.

Only available if the corresponding skills from seqan3::detail::strong_type_skill are added and the underlying type supports this operation.

constexpr match_score< score_type > operator+ (strong_type const &other)
 Adds addition operator to the strong type.
 
constexpr match_score< score_type > operator- (strong_type const &other)
 Adds subtraction operator to the strong type.
 
Arithmetic multiplicative operators.

Only available if the corresponding skills from seqan3::detail::strong_type_skill are added and the underlying type supports this operation.

constexpr match_score< score_type > operator* (strong_type const &other)
 Adds multiplication operator to the strong type.
 
constexpr match_score< score_type > operator/ (strong_type const &other)
 Adds division operator to the strong type.
 
constexpr match_score< score_type > operator% (strong_type const &other)
 Adds modulo operator to the strong type.
 
Bitwise logic operators.

Only available if the corresponding skills from seqan3::detail::strong_type_skill are added and the underlying type supports this operation.

constexpr match_score< score_type > operator& (strong_type const &other)
 Adds bitwise and operator to the strong type.
 
constexpr match_score< score_type > operator| (strong_type const &other)
 Adds bitwise or operator to the strong type.
 
constexpr match_score< score_type > operator^ (strong_type const &other)
 Adds bitwise xor operator to the strong type.
 
constexpr match_score< score_type > operator~ ()
 Adds bitwise not operator to the strong type.
 
Bitwise shift operators.

Only available if the corresponding skills from seqan3::detail::strong_type_skill are added and the underlying type supports this operation.

constexpr match_score< score_type > operator<< (strong_type const &other)
 Adds bitwise left shift operator to the strong type.
 
constexpr match_score< score_type > operator<< (integral_t const shift)
 Adds bitwise left shift operator to the strong type.
 
constexpr match_score< score_type > operator>> (strong_type const &other)
 Adds bitwise right shift operator to the strong type.
 
constexpr match_score< score_type > operator>> (integral_t const shift)
 Adds bitwise right shift operator to the strong type.
 
Logical operators.

Only available if the corresponding skills from seqan3::detail::strong_type_skill are added and the underlying type supports this operation.

constexpr bool operator&& (strong_type const &other)
 Adds logical and operator to the strong type.
 
constexpr bool operator|| (strong_type const &other)
 Adds logical or operator to the strong type.
 
constexpr bool operator! ()
 Adds logical not operator to the strong type.
 
Increment and decrement operators.

Only available if the corresponding skills from seqan3::detail::strong_type_skill are added and the underlying type supports this operation.

constexpr match_score< score_type > & operator++ ()
 Adds pre-increment operator to the strong type.
 
constexpr match_score< score_type > operator++ (int)
 Adds post-increment operator to the strong type.
 
constexpr match_score< score_type > & operator-- ()
 Adds pre-decrement operator to the strong type.
 
constexpr match_score< score_type > operator-- (int)
 Adds post-decrement operator to the strong type.
 
Comparison operators

Only available if the corresponding skill from seqan3::detail::strong_type_skill is added.

Implemented as member functions because requires does not work on friends.

constexpr bool operator== (strong_type const &rhs) const
 Return whether this instance is equal to rhs.
 
constexpr bool operator!= (strong_type const &rhs) const
 Return whether this instance is not equal to rhs.
 
Conversion operators.

Only available if the corresponding skill from seqan3::detail::strong_type_skill is added.

constexpr operator score_type () const
 Adds explicit conversion to it's underlying type.
 

Static Public Attributes

static constexpr strong_type_skill skills
 The selected skills for this type.
 

Private Attributes

score_type value
 The underlying value, which is wrapped as a strong type.
 

Related Functions

(Note that these are not member functions.)

Template argument type deduction guides
template<arithmetic score_type>
 match_score (score_type) -> match_score< score_type >
 Deduce the score type from the provided argument.
 
Formatted output
debug_stream_type< char_t > & operator<< (debug_stream_type< char_t > &stream, strong_type_t &&value)
 Formatted output to a seqan3::detail::debug_stream_type. More...
 

Detailed Description

template<arithmetic score_type>
struct seqan3::match_score< score_type >

A strong type of underlying type score_type that represents the score of two matching characters.

Template Parameters
score_typeThe underlying type.
See also
scoring_scheme_base::set_simple_scheme

Friends And Related Function Documentation

◆ operator<<()

debug_stream_type< char_t > & operator<< ( debug_stream_type< char_t > &  stream,
strong_type_t &&  value 
)
related

Formatted output to a seqan3::detail::debug_stream_type.

Template Parameters
char_tThe char type of the seqan3::detail::debug_stream_type.
strong_type_tThe strong type to print; must model seqan3::detail::derived_from_strong_type.
Parameters
[in,out]streamThe output stream.
[in]valueThe strong typed value to print.

Prints the stored value of the given strong type.

Returns
stream_t & A reference to the given stream.

The documentation for this struct was generated from the following file: