17namespace seqan3::detail
54template <
typename functor_type,
typename ...stored_args_ts>
55class adaptor_from_functor :
56 public adaptor_base<adaptor_from_functor<functor_type, stored_args_ts...>, stored_args_ts...>
60 using base_type = adaptor_base<adaptor_from_functor<functor_type, stored_args_ts...>, stored_args_ts...>;
75 template <std::ranges::input_range urng_t>
76 constexpr auto impl(urng_t && urange, stored_args_ts ... args)
const
78 return fun(std::forward<urng_t>(urange), std::forward<stored_args_ts>(args)...);
85 constexpr adaptor_from_functor() =
default;
86 constexpr adaptor_from_functor(adaptor_from_functor
const &)
noexcept =
default;
87 constexpr adaptor_from_functor(adaptor_from_functor &&) noexcept = default;
88 constexpr adaptor_from_functor & operator=(adaptor_from_functor const &) noexcept = default;
89 constexpr adaptor_from_functor & operator=(adaptor_from_functor &&) noexcept = default;
90 ~adaptor_from_functor() noexcept = default;
93 constexpr adaptor_from_functor(functor_type f, stored_args_ts ... args) :
94 base_type{std::forward<stored_args_ts>(args)...}, fun{std::move(f)}
Provides seqan3::detail::adaptor_base and seqan3::detail::combined_adaptor.