Loading...
Searching...
No Matches
seqan3::mask Class Reference
Alphabet » Mask

Implementation of a masked alphabet to be used for tuple composites. More...

`#include <seqan3/alphabet/mask/mask.hpp>`

Inheritance diagram for seqan3::mask:
[legend]

## Public Member Functions

Constructors, destructor and assignment
constexpr | mask ()=default
| Defaulted.
constexpr | mask (mask const &)=default
| Defaulted.
constexpr | mask (mask &&)=default
| Defaulted.
constexpr mask & | operator= (mask const &)=default
| Defaulted.
constexpr mask & | operator= (mask &&)=default
| Defaulted.
| ~mask ()=default
| Defaulted.
Public Member Functions inherited from seqan3::alphabet_base< mask, 2, void >
constexpr | alphabet_base () noexcept=default
| Defaulted.
constexpr | alphabet_base (alphabet_base const &) noexcept=default
| Defaulted.
constexpr | alphabet_base (alphabet_base &&) noexcept=default
| Defaulted.
constexpr alphabet_base & | operator= (alphabet_base const &) noexcept=default
| Defaulted.
constexpr alphabet_base & | operator= (alphabet_base &&) noexcept=default
| Defaulted.
| ~alphabet_base () noexcept=default
| Defaulted.
constexpr char_type | to_char () const noexcept
| Return the letter as a character of char_type.
constexpr rank_type | to_rank () const noexcept
| Return the letter's numeric value (rank in the alphabet).
constexpr mask & | assign_char (char_type const chr) noexcept
| Assign from a character, implicitly converts invalid characters.
constexpr mask & | assign_rank (rank_type const c) noexcept
| Assign from a numeric value.

## Static Public Attributes

Boolean values
Static member "booleans" that can be assigned to the alphabet or used in aggregate initialization. Similar to an Enum interface.
static mask const | unmasked {mask{}.assign_rank(0)}
| Member for unmasked.
static mask const | masked {mask{}.assign_rank(1)}
| Member for masked.
Static Public Attributes inherited from seqan3::alphabet_base< mask, 2, void >
static constexpr detail::min_viable_uint_t< size > | alphabet_size
| The size of the alphabet, i.e. the number of different values it can take.

## Additional Inherited Members

Protected Types inherited from seqan3::alphabet_base< mask, 2, void >
using | char_type
| The char representation; conditional needed to make semi alphabet definitions legal.
using | rank_type
| The type of the alphabet when represented as a number (e.g. via to_rank()).

## Detailed Description

Implementation of a masked alphabet to be used for tuple composites.

This alphabet is not usually used directly, but instead via seqan3::masked.

// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
// SPDX-License-Identifier: CC0-1.0
#include <seqan3/alphabet/mask/mask.hpp>
#include <seqan3/core/debug_stream.hpp>
int main()
{
seqan3::mask my_mask = seqan3::mask::masked;
seqan3::mask another_mask{};
my_mask.assign_rank(false); // will assign my_mask the value mask::unmasked
another_mask.assign_rank(0); // will also assign another_mask the value mask::unmasked
if (my_mask.to_rank() == another_mask.to_rank())
seqan3::debug_stream << "Both are UNMASKED!\n";
}
seqan3::alphabet_base::to_rank
constexpr rank_type to_rank() const noexcept
Return the letter's numeric value (rank in the alphabet).
Definition alphabet_base.hpp:134
seqan3::alphabet_base::assign_rank
constexpr derived_type & assign_rank(rank_type const c) noexcept
Assign from a numeric value.
Definition alphabet_base.hpp:184
seqan3::mask
Implementation of a masked alphabet to be used for tuple composites.
Definition mask.hpp:35
seqan3::mask::masked
static mask const masked
Member for masked.
Definition mask.hpp:71
debug_stream.hpp
Provides seqan3::debug_stream and related types.
seqan3::debug_stream
debug_stream_type debug_stream
A global instance of seqan3::debug_stream_type.
Definition debug_stream.hpp:38
mask.hpp
Create a mask composite which can be applied with another alphabet.

See also
  Mask submodule , it contains an explanation of hard-masking (unknown character) and soft-masking (lower/upper case letters).

This entity is stable. Since version 3.1.

## Member Data Documentation

## masked

mask seqan3::mask::masked {mask{}.assign_rank(1)}

static constexpr

Member for masked.

This entity is stable. Since version 3.1.

## unmasked

mask seqan3::mask::unmasked {mask{}.assign_rank(0)}

static constexpr

Member for unmasked.

This entity is stable. Since version 3.1.

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

- mask.hpp

Hide me