SeqAn3  3.0.3
The Modern C++ library for sequence analysis.
seqan3::detail::view_persist< urng_t > Class Template Reference

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

#include <seqan3/range/views/persist.hpp>

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

Public Member Functions

Constructors, destructor and assignment
 view_persist () noexcept=default
 Defaulted.
 
constexpr view_persist (view_persist const &rhs) noexcept=default
 Defaulted.
 
constexpr view_persist (view_persist &&rhs) noexcept=default
 Defaulted.
 
constexpr view_persistoperator= (view_persist const &rhs) noexcept=default
 Defaulted.
 
constexpr view_persistoperator= (view_persist &&rhs) noexcept=default
 Defaulted.
 
 ~view_persist () noexcept=default
 Defaulted.
 
 view_persist (urng_t &&_urange)
 Construct from another range. More...
 
Iterators
auto begin () noexcept
 Returns an iterator to the first element of the container. More...
 
auto begin () const noexcept
 Returns an iterator to the first element of the container. More...
 
auto end () noexcept
 Returns an iterator to the element following the last element of the range. More...
 
auto end () const noexcept
 Returns an iterator to the element following the last element of the range. More...
 

Private Attributes

std::shared_ptr< urng_t > urange
 Shared storage of the underlying range.
 

Related Functions

(Note that these are not member functions.)

template<typename urng_t >
 view_persist (urng_t &&) -> view_persist< std::remove_reference_t< urng_t >>
 Template argument type deduction guide that strips references.
 

Detailed Description

template<std::ranges::input_range urng_t>
class seqan3::detail::view_persist< urng_t >

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

Template Parameters
urng_tThe type of the underlying range, must model std::ranges::input_range.

Note that most members of this class are generated by ranges::view_interface which is not yet documented here.

Constructor & Destructor Documentation

◆ view_persist()

template<std::ranges::input_range urng_t>
seqan3::detail::view_persist< urng_t >::view_persist ( urng_t &&  _urange)
inline

Construct from another range.

Parameters
[in]_urangeThe underlying range.

Member Function Documentation

◆ begin() [1/2]

template<std::ranges::input_range urng_t>
auto seqan3::detail::view_persist< urng_t >::begin ( ) const
inlinenoexcept

Returns an iterator to the first element of the container.

Returns
Iterator to the first element.

If the container is empty, the returned iterator will be equal to end().

Complexity

Constant.

Exceptions

No-throw guarantee.

◆ begin() [2/2]

template<std::ranges::input_range urng_t>
auto seqan3::detail::view_persist< urng_t >::begin ( )
inlinenoexcept

Returns an iterator to the first element of the container.

Returns
Iterator to the first element.

If the container is empty, the returned iterator will be equal to end().

Complexity

Constant.

Exceptions

No-throw guarantee.

◆ end() [1/2]

template<std::ranges::input_range urng_t>
auto seqan3::detail::view_persist< urng_t >::end ( ) const
inlinenoexcept

Returns an iterator to the element following the last element of the range.

Returns
Iterator or sentinel to the end.

This element acts as a placeholder; attempting to dereference it results in undefined behaviour.

Complexity

Constant.

Exceptions

No-throw guarantee.

◆ end() [2/2]

template<std::ranges::input_range urng_t>
auto seqan3::detail::view_persist< urng_t >::end ( )
inlinenoexcept

Returns an iterator to the element following the last element of the range.

Returns
Iterator or sentinel to the end.

This element acts as a placeholder; attempting to dereference it results in undefined behaviour.

Complexity

Constant.

Exceptions

No-throw guarantee.


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