SeqAn3  3.0.2
The Modern C++ library for sequence analysis.
seqan3::semialphabet Interface Reference

The basis for seqan3::alphabet, but requires only rank interface (not char). More...

#include <seqan3/alphabet/concept.hpp>

+ Inheritance diagram for seqan3::semialphabet:

Related Functions

(Note that these are not member functions.)

Requirements for std::totally_ordered

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

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...
 
Requirements for std::equality_comparable

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...
 

Detailed Description

The basis for seqan3::alphabet, but requires only rank interface (not char).

This concept represents the "rank part" of what is considered "an alphabet" in SeqAn. It requires no char representation and corresponding interfaces. It is mostly used internally.

Requirements

  1. t shall model std::totally_ordered ("has all comparison operators")
  2. objects of type t shall be efficiently copyable:
  3. seqan3::alphabet_size needs to be defined for t
  4. seqan3::to_rank needs to be defined for objects of type t

See the documentation pages for the respective requirements. The implications of 2. are that you can always take function arguments of types that model seqan3::semialphabet by value.

It is highly recommended that non-reference types that model this concept, also model:

All alphabets available in SeqAn (with very few exceptions) do so.

Related types

If a given type t models this concept, the following types typically do so, as well:

  • t &
  • t const
  • t const &

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