SeqAn3 3.4.0-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>
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 | |
copyable_wrapper_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.