13 #ifndef RANGES_V3_FUNCTIONAL_ON_HPP
14 #define RANGES_V3_FUNCTIONAL_ON_HPP
18 #include <range/v3/detail/config.hpp>
21 #include <range/v3/detail/prologue.hpp>
27 template<
typename Fn1,
typename Fn2>
31 RANGES_NO_UNIQUE_ADDRESS
33 RANGES_NO_UNIQUE_ADDRESS
39 : first_(
static_cast<Fn1 &&
>(fn1))
40 , second_(
static_cast<Fn2 &&
>(fn2))
43 template<
typename... Args>
44 auto CPP_auto_fun(
operator())(Args &&... args)
46 return invoke(first_, invoke(second_,
static_cast<Args &&
>(args)...))
48 template<typename... Args>
49 auto CPP_auto_fun(
operator())(Args &&... args)(
const)
51 return invoke((Fn1
const &)first_,
52 invoke((Fn2
const &)second_,
static_cast<Args &&
>(args))...)
59 template<
typename Fn1,
typename Fn2>
72 #include <range/v3/detail/epilogue.hpp>
RANGES_INLINE_VARIABLE(detail::to_container_fn< detail::from_range< std::vector >>, to_vector) template< template< typename... > class ContT > auto to(RANGES_HIDDEN_DETAIL(detail
For initializing a container of the specified type with the elements of an Range.
Definition: conversion.hpp:399