SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::detail::combined_adaptor< left_adaptor_t, right_adaptor_t > Class Template Reference

Template for range adaptor closure objects that consist of two other range adaptor closure objects. More...

#include <seqan3/core/range/detail/adaptor_base.hpp>

+ Inheritance diagram for seqan3::detail::combined_adaptor< left_adaptor_t, right_adaptor_t >:

Public Member Functions

Constructors, destructor and assignment
constexpr combined_adaptor ()=default
 Defaulted.
 
constexpr combined_adaptor (combined_adaptor const &) noexcept=default
 Defaulted.
 
constexpr combined_adaptor (combined_adaptor &&) noexcept=default
 Defaulted.
 
constexpr combined_adaptoroperator= (combined_adaptor const &) noexcept=default
 Defaulted.
 
constexpr combined_adaptoroperator= (combined_adaptor &&) noexcept=default
 Defaulted.
 
 ~combined_adaptor () noexcept=default
 Defaulted.
 
constexpr combined_adaptor (left_adaptor_t l, right_adaptor_t r)
 Store both arguments in the adaptor.
 
- Public Member Functions inherited from seqan3::detail::adaptor_base< combined_adaptor< left_adaptor_t, right_adaptor_t >, left_adaptor_t, right_adaptor_t >
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.
 

Private Types

using base_type = adaptor_base< combined_adaptor< left_adaptor_t, right_adaptor_t >, left_adaptor_t, right_adaptor_t >
 Type of the CRTP-base.
 

Static Private Member Functions

template<std::ranges::input_range urng_t, typename left_adaptor_t_ , typename right_adaptor_t_ >
static auto impl (urng_t &&urange, left_adaptor_t_ &&left_adaptor, right_adaptor_t_ &&right_adaptor)
 Combine all arguments via operator|.
 

Private Attributes

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

Detailed Description

template<typename left_adaptor_t, typename right_adaptor_t>
class seqan3::detail::combined_adaptor< left_adaptor_t, right_adaptor_t >

Template for range adaptor closure objects that consist of two other range adaptor closure objects.

Template Parameters
left_adaptor_tType of the first stored adaptor.
right_adaptor_tType of the second stored adaptor.

If invoked with a range, this adaptor resolves to piping the range into left adaptor and the resulting range into the right adaptor.


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