BioC++ core-0.7.0
The Modern C++ libraries for Bioinformatics.
 
Loading...
Searching...
No Matches
bio::alphabet::writable_alphabet Concept Reference

Refines bio::alphabet::alphabet and adds assignability. More...

#include <bio/alphabet/concept.hpp>

Concept definition

template<typename t>
concept bio::alphabet::writable_alphabet = alphabet<t> && writable_semialphabet<t> && requires(t v, char_t<t> c) {
{
};
{
bio::alphabet::char_is_valid_for<t>(c)
};
}
The generic alphabet concept that covers most data types used in ranges.
Definition: concept.hpp:643
Refines bio::alphabet::alphabet and adds assignability.
Definition: concept.hpp:688
A refinement of bio::alphabet::semialphabet that adds assignability.
Definition: concept.hpp:608
constexpr auto assign_char_to
Assign a char to an alphabet object.
Definition: concept.hpp:260

Detailed Description

Refines bio::alphabet::alphabet and adds assignability.

This concept refines bio::alphabet::alphabet and bio::alphabet::writable_semialphabet and adds the requirement to be able to change the value by assigning a value of the character representation.

For a detailed overview of how the different alphabet concepts are related, see Alphabet module.

Requirements

  1. t shall model bio::alphabet::alphabet
  2. t shall model bio::alphabet::writable_semialphabet
  3. bio::alphabet::assign_char_to needs to be defined for objects of type t
  4. bio::alphabet::char_is_valid_for needs to be defined for type t and an argument of the character representation

See the documentation pages for the respective requirements.

Related types

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

  • t &

const-qualified types on the other hand are not assignable.

Serialisation

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