SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::detail::async_input_buffer_view< urng_t > Class Template Reference

The type returned by seqan3::views::async_input_buffer. More...

#include <seqan3/io/views/async_input_buffer.hpp>

+ Inheritance diagram for seqan3::detail::async_input_buffer_view< urng_t >:

Classes

class  iterator
 The iterator of the seqan3::detail::async_input_buffer_view. More...
 
struct  state
 Buffer and thread and shared between copies of this type. More...
 

Public Member Functions

Constructor, destructor, and assignment.
 async_input_buffer_view ()=default
 Defaulted.
 
 async_input_buffer_view (async_input_buffer_view const &)=default
 Defaulted.
 
 async_input_buffer_view (async_input_buffer_view &&)=default
 Defaulted.
 
async_input_buffer_viewoperator= (async_input_buffer_view const &)=default
 Defaulted.
 
async_input_buffer_viewoperator= (async_input_buffer_view &&)=default
 Defaulted.
 
 ~async_input_buffer_view ()=default
 Defaulted.
 
 async_input_buffer_view (urng_t _urng, size_t const buffer_size)
 Construction from the underlying view.
 
template<typename other_urng_t >
requires (!std::same_as<std::remove_cvref_t<other_urng_t>, async_input_buffer_view>) && std::ranges::viewable_range<other_urng_t> && std::constructible_from<urng_t, std::ranges::ref_view<std::remove_reference_t<other_urng_t>>>
 async_input_buffer_view (other_urng_t &&_urng, size_t const buffer_size)
 Construction from std::ranges::viewable_range.
 
Iterators
iterator begin ()
 Returns an iterator to the current begin of the underlying range.
 
iterator begin () const =delete
 Const-qualified async_input_buffer_view::begin() is deleted, because iterating changes the view.
 
std::default_sentinel_t end ()
 Returns a sentinel.
 
std::default_sentinel_t end () const =delete
 Const-qualified async_input_buffer_view::end() is deleted, because iterating changes the view.
 

Private Types

using urng_iterator_type = std::ranges::iterator_t< urng_t >
 The iterator type for the underlying range.
 

Private Attributes

std::shared_ptr< statestate_ptr = nullptr
 Shared holder of the state.
 

Related Symbols

(Note that these are not member symbols.)

Deduction guide.
template<std::ranges::viewable_range urng_t>
 async_input_buffer_view (urng_t &&, size_t const buffer_size) -> async_input_buffer_view< std::views::all_t< urng_t > >
 Deduces the async_input_buffer_view from the underlying range if it is a std::ranges::viewable_range.
 

Detailed Description

template<std::ranges::range urng_t>
class seqan3::detail::async_input_buffer_view< urng_t >

The type returned by seqan3::views::async_input_buffer.

Template Parameters
urng_tThe underlying range type.

Member Function Documentation

◆ begin()

template<std::ranges::range urng_t>
iterator seqan3::detail::async_input_buffer_view< urng_t >::begin ( )
inline

Returns an iterator to the current begin of the underlying range.

Thread-Safety

It is thread-safe to call this function. Subsequent calls to begin will result in different iterators that are each valid individually. It is thread-safe to operate on different iterators from different threads (however it is not thread-safe to operate on a single iterator from different threads).


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