|
template<typename I1 , typename S1 , typename I2 , typename S2 , typename R = equal_to, typename P = identity> |
auto | operator() (I1 begin1, S1 end1, I2 begin2, S2 end2, R pred=R{}, P proj=P{}) const -> subrange< I1 > requires forward_iterator< I1 > &&sentinel_for< S1, I1 > &&forward_iterator< I2 > &&sentinel_for< S2, I2 > &&indirect_relation< R, projected< I1, P >, I2 > |
|
template<typename Rng1 , typename Rng2 , typename R = equal_to, typename P = identity> |
auto | operator() (Rng1 &&rng1, Rng2 &&rng2, R pred=R{}, P proj=P{}) const -> safe_subrange_t< Rng1 > requires forward_range< Rng1 > &&forward_range< Rng2 > &&indirect_relation< R, projected< iterator_t< Rng1 >, P >, iterator_t< Rng2 >> |
|