SeqAn3  3.0.0
The Modern C++ library for sequence analysis.
seqan3::alignment_range< alignment_executor_type > Class Template Reference

The alignment. More...

#include <seqan3/alignment/pairwise/alignment_range.hpp>

Public Types

using const_iterator = void
 This range is never const-iterable. The const_iterator is always void.
 
using difference_type = typename alignment_executor_type::difference_type
 The offset type.
 
using iterator = iterator_type
 The iterator type.
 
using reference = typename alignment_executor_type::reference
 The reference type.
 
using sentinel = std::ranges::default_sentinel_t
 The sentinel type.
 
using value_type = typename alignment_executor_type::value_type
 The alignment result type.
 

Public Member Functions

Constructors, destructor and assignment
 alignment_range ()=default
 Defaulted.
 
 alignment_range (alignment_range const &)=delete
 This is a move-only type.
 
 alignment_range (alignment_range &&)=default
 Defaulted.
 
alignment_rangeoperator= (alignment_range const &)=delete
 This is a move-only type.
 
alignment_rangeoperator= (alignment_range &&)=default
 Defaulted.
 
 ~alignment_range ()=default
 Defaulted.
 
 alignment_range (alignment_executor_type const &_alignment_executor)=delete
 Explicit deletion to forbid copy construction of the underlying executor.
 
 alignment_range (alignment_executor_type &&_alignment_executor)
 Constructs a new alignment range by taking ownership over the passed alignment buffer. More...
 
Iterators

}

constexpr iterator begin ()
 Returns an iterator to the first element of the alignment range. More...
 
const_iterator begin () const =delete
 
const_iterator cbegin () const =delete
 
constexpr sentinel end () noexcept
 Returns a sentinel signaling the end of the alignment range. More...
 
constexpr sentinel end () const =delete
 
constexpr sentinel cend () const =delete
 

Protected Member Functions

constexpr bool eof () const noexcept
 Returns whether the executor buffer reached is end.
 
void next ()
 Receives the next alignment result from the executor buffer.
 

Friends

class iterator_type
 

Related Functions

(Note that these are not member functions.)

Type deduction guide
template<typename alignment_executor_type >
 alignment_range (alignment_executor_type &&) -> alignment_range< std::remove_reference_t< alignment_executor_type >>
 Deduces from the passed alignment_executor_type.
 

Detailed Description

template<typename alignment_executor_type>
class seqan3::alignment_range< alignment_executor_type >

The alignment.

Template Parameters
alignment_executor_typeThe buffer type for the alignment stream.
Attention
This class considers moveable-only ranges.

Provides a stream-like range interface over the alignments instances that are computed in a seqan3::detail::alignment_executor_two_way executor.

Constructor & Destructor Documentation

◆ alignment_range()

template<typename alignment_executor_type >
seqan3::alignment_range< alignment_executor_type >::alignment_range ( alignment_executor_type &&  _alignment_executor)
inlineexplicit

Constructs a new alignment range by taking ownership over the passed alignment buffer.

Template Parameters
_alignment_executor_typeThe buffer type. Must be the same type as alignment_executor_type when references and cv-qualifiers are removed.
Parameters
[in]_alignment_executorThe buffer to take ownership from.

Constructs a new alignment range by taking ownership over the passed alignment buffer.

Member Function Documentation

◆ begin()

template<typename alignment_executor_type >
constexpr iterator seqan3::alignment_range< alignment_executor_type >::begin ( )
inline

Returns an iterator to the first element of the alignment range.

Returns
An iterator to the first element.

Invocation of this function will trigger the computation of the first alignment.

◆ end()

template<typename alignment_executor_type >
constexpr sentinel seqan3::alignment_range< alignment_executor_type >::end ( )
inlinenoexcept

Returns a sentinel signaling the end of the alignment range.

Returns
a sentinel.

The alignment range is an input range and the end is reached when the internal buffer over the alignment results has signaled end-of-stream.


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