SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::detail::type_reduce_fn Class Reference

View adaptor definition for views::type_reduce. More...

#include <seqan3/utility/views/type_reduce.hpp>

+ Inheritance diagram for seqan3::detail::type_reduce_fn:

Private Types

using base_t = adaptor_base< type_reduce_fn >
 Type of the CRTP-base.
 

Static Private Member Functions

template<std::ranges::range urng_t>
static constexpr auto impl (urng_t &&urange)
 Type erase if possible and delegate to std::views::all otherwise.
 

Private Attributes

friend base_t
 Befriend the base class so it can call impl().
 

Additional Inherited Members

- Public Member Functions inherited from seqan3::detail::adaptor_base< type_reduce_fn >
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_baseoperator= (adaptor_base const &) noexcept=default
 Defaulted.
 
constexpr adaptor_baseoperator= (adaptor_base &&) noexcept=default
 Defaulted.
 
 ~adaptor_base () noexcept=default
 Defaulted.
 

Detailed Description

View adaptor definition for views::type_reduce.

Member Function Documentation

◆ impl()

template<std::ranges::range urng_t>
static constexpr auto seqan3::detail::type_reduce_fn::impl ( urng_t &&  urange)
inlinestaticconstexprprivate

Type erase if possible and delegate to std::views::all otherwise.

Returns
An instance of std::span, std::basic_string_view, std::ranges::subrange or std::views::all's return type.

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