Range algorithms, views, and actions for the Standard Library
ranges::v3::view::intersperse_fn Struct Reference

Synopsis of methods

constexpr view< intersperse_fnintersperse {}

Public Types

template<typename Rng , typename T = range_value_type_t<Rng>>
using Constraint = meta::and_< InputRange< Rng >, ConvertibleTo< T, range_value_type_t< Rng > >, ConvertibleTo< range_reference_t< Rng >, range_value_type_t< Rng > >, SemiRegular< range_value_type_t< Rng > >>

Public Member Functions

template<typename Rng , requires = (Constraint<Rng>())>
constexpr auto operator() (Rng &&rng, range_value_type_t< Rng > val) const noexcept(noexcept(decltype(intersperse_view< all_t< Rng >>{all(static_cast< Rng &&>(rng)), std::move(val)})(intersperse_view< all_t< Rng >>{all(static_cast< Rng &&>(rng)), std::move(val)}))) -> decltype(intersperse_view< all_t< Rng >>