The functor for seqan3::detail::all. More...
#include <seqan3/core/detail/all_view.hpp>
Static Public Member Functions | |
template<std::ranges::range rng_t> requires decays_to_view<rng_t> || valid_for_ref_view<rng_t> || valid_for_owning_view<rng_t> | |
static auto | impl (rng_t &&rng) |
Returns a view that includes all elements of the range argument. | |
Private Attributes | |
friend | adaptor_base< all_fn > |
Befriend the base class. | |
Static Private Attributes | |
template<typename t > | |
static constexpr bool | decays_to_view = std::ranges::view<std::decay_t<t>> |
Checks whether a type is a view. | |
template<typename t > | |
static constexpr bool | valid_for_owning_view = requires { owning_view(std::declval<t>()); } |
Checks whether a type could be used for seqan3::detail::owning_view. | |
template<typename t > | |
static constexpr bool | valid_for_ref_view = requires { std::ranges::ref_view(std::declval<t>()); } |
Checks whether a type could be used for std::ranges::ref_view. | |
Additional Inherited Members | |
![]() | |
constexpr auto | operator() (urng_t &&urange) && |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
constexpr auto | operator() (urng_t &&urange) const & |
Function-style overload for ranges. | |
constexpr | adaptor_base (adaptor_base const &) noexcept=default |
Defaulted. | |
constexpr | adaptor_base (adaptor_base &&) noexcept=default |
Defaulted. | |
constexpr | adaptor_base (stored_args_ts... args) noexcept(noexcept(std::tuple< stored_args_ts... >{ std::forward< stored_args_ts >(args)...})) |
Constructor with possible arguments; becomes a default constructor for adaptors without args. | |
constexpr adaptor_base & | operator= (adaptor_base const &) noexcept=default |
Defaulted. | |
constexpr adaptor_base & | operator= (adaptor_base &&) noexcept=default |
Defaulted. | |
~adaptor_base () noexcept=default | |
Defaulted. | |
The functor for seqan3::detail::all.
|
inlinestatic |
Returns a view that includes all elements of the range argument.
This implements the new C++20 behaviour that is only available with gcc12 and newer. In contrast to the old std::views::all, rvalue ranges can be bound.
rng
if rng
is a view.rng
if that expression is valid.rng
.