|
SeqAn3 3.4.2-rc.1
The Modern C++ library for sequence analysis.
|
The type returned by seqan3::detail::take_until and seqan3::detail::take_until_or_throw. More...
#include <seqan3/io/views/detail/take_until_view.hpp>
Inheritance diagram for seqan3::detail::view_take_until< urng_t, fun_t, or_throw, and_consume >:Classes | |
| class | basic_consume_iterator |
| Special iterator type used when consuming behaviour is selected. More... | |
| class | basic_sentinel |
| The sentinel type of take_until, provides the comparison operators. More... | |
Public Member Functions | |
Constructors, destructor and assignment | |
| view_take_until ()=default | |
| Defaulted. | |
| constexpr | view_take_until (view_take_until const &rhs)=default |
| Defaulted. | |
| constexpr | view_take_until (view_take_until &&rhs)=default |
| Defaulted. | |
| constexpr view_take_until & | operator= (view_take_until const &rhs)=default |
| Defaulted. | |
| constexpr view_take_until & | operator= (view_take_until &&rhs)=default |
| Defaulted. | |
| ~view_take_until ()=default | |
| Defaulted. | |
| view_take_until (urng_t &&_urange, fun_t &&_fun) | |
| Construct from another range. | |
| template<std::ranges::viewable_range rng_t> requires std::constructible_from<urng_t, std::views::all_t<rng_t>> | |
| view_take_until (rng_t &&_urange, fun_t &&_fun) | |
| Construct from another viewable_range. | |
Iterators | |
| auto | begin () noexcept |
| Returns an iterator to the first element of the container. | |
| auto | begin () const noexcept |
| Returns an iterator to the first element of the container. | |
| auto | end () noexcept |
| Returns an iterator to the element following the last element of the range. | |
| auto | end () const noexcept |
| Returns an iterator to the element following the last element of the range. | |
Private Types | |
| template<bool const_range> | |
| using | basic_consume_sentinel = std::default_sentinel_t |
| The sentinel type of take_until when consuming behaviour is selected. | |
| template<bool const_range> | |
| using | basic_iterator = seqan3::detail::maybe_const_iterator_t< const_range, urng_t > |
| Iterator of the underlying range (urng_t). | |
Private Attributes | |
| seqan::stl::detail::movable_box_t< fun_t > | fun |
| The functor. | |
| urng_t | urange |
| The underlying range. | |
Static Private Attributes | |
| static constexpr bool | const_iterable |
| Whether this view is const_iterable or not. | |
Related Symbols | |
(Note that these are not member symbols.) | |
| template<typename urng_t , typename fun_t , bool or_throw = false, bool and_consume = false> | |
| view_take_until (urng_t &&, fun_t &&) -> view_take_until< std::views::all_t< urng_t >, fun_t, or_throw, and_consume > | |
| Type deduction guide that strips references. | |
The type returned by seqan3::detail::take_until and seqan3::detail::take_until_or_throw.
| urng_t | The type of the underlying range, must model std::ranges::view. |
| fun_t | Type of the callable that will be evaluated on every member; must model std::invocable with std::ranges::range_reference_t<urng_t> as argument and return bool. |
| or_throw | Whether to throw an exception when the input is exhausted before the end of line is reached. |
Note that most members of this class are generated by std::ranges::view_interface which is not yet documented here.
|
private |
The sentinel type of take_until when consuming behaviour is selected.
| const_range | Whether sentinel is a const sentinel (const_range = true) or a non-const sentinel. |
|
private |
Iterator of the underlying range (urng_t).
| const_range | Whether iterator is a const iterator (const_range = true) or a non-const iterator. |
|
inline |
Construct from another range.
| [in] | _urange | The underlying range. |
| [in] | _fun | The functor that acts as termination criterium. |
|
inline |
Construct from another viewable_range.
| rng_t | Type of the passed range; urng_t must be constructible from this. |
| [in] | _urange | The underlying range. |
| [in] | _fun | The functor that acts as termination criterium. |
|
inlinenoexcept |
Returns an iterator to the first element of the container.
If the container is empty, the returned iterator will be equal to seqan3::detail::take_until::end().
Constant.
No-throw guarantee.
|
inlinenoexcept |
Returns an iterator to the first element of the container.
If the container is empty, the returned iterator will be equal to seqan3::detail::take_until::end().
Constant.
No-throw guarantee.
|
inlinenoexcept |
Returns an iterator to the element following the last element of the range.
This element acts as a placeholder; attempting to dereference it results in undefined behaviour.
Constant.
No-throw guarantee.
|
inlinenoexcept |
Returns an iterator to the element following the last element of the range.
This element acts as a placeholder; attempting to dereference it results in undefined behaviour.
Constant.
No-throw guarantee.
|
staticconstexprprivate |
Whether this view is const_iterable or not.