SeqAn3
seqan3::semi_alphabet_concept Interface Reference

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

#include <seqan3/alphabet/concept.hpp>

Inheritance diagram for seqan3::semi_alphabet_concept:
[legend]

Related Functions

(Note that these are not member functions.)

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 basis for seqan3::alphabet_concept, but requires only rank interface (not char).

This concept represents "one half" of the seqan3::alphabet_concept, it requires no char representation and corresponding interfaces. It is mostly used internally and in the composition of alphabet types (see seqan3::cartesian_composition).

Beyond the requirements stated below, the type needs to satisfy the following standard library concepts:

For the purpose of concept checking the types t & and t && are also considered to satisfy seqan3::semi_alphabet_concept if the type t satisfies it.

It is recommended that alphabets also model seqan3::standard_layout_concept and seqan3::trivially_copyable_concept and all alphabets shipped with SeqAn3 do so.

Serialisation

Types that satisfy the concept (and all refinements) can be serialised via SeqAn3 serialisation support. The rank value is (de-)serialised, types need not provide any overloads themselves.

Concepts and doxygen

The requirements for this concept are given as related functions and metafunctions. Types that satisfy this concept are shown as "implementing this interface".


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