SeqAn3
seqan3::gap Struct Reference

The alphabet of a gap character '-'. More...

#include <seqan3/alphabet/gap/gap.hpp>

Inheritance diagram for seqan3::gap:
[legend]

Public Types

using char_type = char
 The type of the alphabet when converted to char (e.g. via to_char()).
 
using rank_type = bool
 The type of the alphabet when represented as a number (e.g. via to_rank()).
 

Public Member Functions

Read functions
constexpr char_type to_char () const noexcept
 Return the letter as a character of char_type (returns always '-').
 
constexpr rank_type to_rank () const noexcept
 Return the letter's numeric value or rank in the alphabet. (returns always 0)
 
Write functions
constexpr gapassign_char ([[maybe_unused]] char_type const c) noexcept
 Assign from a character (no-op, since gap has only one character). More...
 
constexpr gapassign_rank ([[maybe_unused]] rank_type const i) noexcept
 Assign from a numeric value (no-op, since gap has only one character). More...
 

Static Public Attributes

static constexpr rank_type value_size {1}
 The size of the alphabet, i.e. the number of different values it can take.
 
Letter values

Static member "letters" that can be assigned to the alphabet or used in aggregate initialization.

static const gap GAP {}
 

Friends

Comparison operators
constexpr bool operator== (gap const &, gap const &) noexcept
 
constexpr bool operator!= (gap const &, gap const &) noexcept
 
constexpr bool operator< (gap const &, gap const &) noexcept
 
constexpr bool operator> (gap const &, gap const &) noexcept
 
constexpr bool operator<= (gap const &, gap const &) noexcept
 
constexpr bool operator>= (gap const &, gap const &) noexcept
 

Related Functions

(Note that these are not member functions.)

Requirements for seqan3::alphabet_concept

You can expect these functions on all types that implement seqan3::alphabet_concept.

template<typename alphabet_type >
using underlying_char_t = typename underlying_char< alphabet_type >::type
 The char_type of the alphabet. [type metafunction shortcut]. More...
 
char_type to_char (alphabet_concept const alph)
 Returns the alphabet letter's value in character representation. More...
 
alphabet_concept && assign_char (alphabet_concept &&alph, char_type const chr)
 Returns the alphabet letter's value in character representation. More...
 
Requirements for seqan3::semi_alphabet_concept

You can expect these functions on all types that implement seqan3::semi_alphabet_concept.

template<typename semi_alphabet_type >
using underlying_rank_t = typename underlying_rank< semi_alphabet_type >::type
 The rank_type of the semi_alphabet. [type metafunction shortcut]. More...
 
template<typename alphabet_type >
constexpr auto alphabet_size_v = alphabet_size<alphabet_type>::value
 The size of the alphabet. [value metafunction shortcut]. More...
 
rank_type to_rank (semi_alphabet_concept const alph)
 Returns the alphabet letter's value in rank representation. More...
 
semi_alphabet_concept && assign_rank (semi_alphabet_concept &&alph, rank_type const rank)
 Returns the alphabet letter's value in rank representation. More...
 
Requirements for std::Swappable

You can expect these functions on all types that implement std::Swappable.

void swap (t &lhs, t &rhs)
 Swaps the contents of two objects. More...
 
Requirements for std::EqualityComparable

You can expect these functions on all types that implement std::Equality_comparable.

bool operator== (type const &lhs, type const &rhs)
 (In-)Equality comparison. More...
 
bool operator!= (type const &lhs, type const &rhs)
 (In-)Equality comparison. More...
 
Requirements for std::StrictTotallyOrdered

You can expect these functions on all types that implement std::StrictTotallyOrdered.

bool operator< (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 
bool operator<= (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 
bool operator> (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 
bool operator>= (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 

Detailed Description

The alphabet of a gap character '-'.

The alphabet always has the same value ('-').

gap my_gap = gap::GAP;
gap another_gap{};
another_gap.assign_char('A'); // setting this does not change anything
debug_stream << my_gap.to_char(); // outputs '-'
if (my_gap.to_char() == another_gap.to_char())
debug_stream << "Both gaps are the same!";

Member Function Documentation

◆ assign_char()

constexpr gap& seqan3::gap::assign_char ( [[maybe_unused] ] char_type const  c)
inlinenoexcept

Assign from a character (no-op, since gap has only one character).

Parameters
cnot used, since gap has only one character

◆ assign_rank()

constexpr gap& seqan3::gap::assign_rank ( [[maybe_unused] ] rank_type const  i)
inlinenoexcept

Assign from a numeric value (no-op, since gap has only one character).

Parameters
inot used, since gap has only one character

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