The basis for seqan3::alphabet, but requires only rank interface (not char). More...
#include <seqan3/alphabet/concept.hpp>
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... | |
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.
t
shall model std::totally_ordered ("has all comparison operators")t
shall be efficiently copyable:t
shall model std::copy_constructible and be std::is_nothrow_copy_constructiblet
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.
If a given type t
models this concept, the following types typically do so, as well:
t &
t const
t const &