Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::is_permutation_fn Struct Reference

Public Member Functions

template<typename I1 , typename S1 , typename I2 , typename C = equal_to, typename P1 = ident, typename P2 = ident, requires = (Sentinel<S1, I1>() && IsPermutationable<I1, I2, C, P1, P2>())>
bool operator() (I1 begin1, S1 end1, I2 begin2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{}) const
 
template<typename I1 , typename S1 , typename I2 , typename S2 , typename C = equal_to, typename P1 = ident, typename P2 = ident, requires = (Sentinel<S1, I1>() && Sentinel<S2, I2>() && IsPermutationable<I1, I2, C, P1, P2>())>
bool operator() (I1 begin1, S1 end1, I2 begin2, S2 end2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{}) const
 
template<typename Rng1 , typename I2Ref , typename C = equal_to, typename P1 = ident, typename P2 = ident, typename I1 = iterator_t<Rng1>, typename I2 = uncvref_t<I2Ref>, requires = (ForwardRange<Rng1>() && Iterator<I2>() && IsPermutationable<I1, I2, C, P1, P2>())>
bool operator() (Rng1 &&rng1, I2Ref &&begin2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{}) const
 
template<typename Rng1 , typename Rng2 , typename C = equal_to, typename P1 = ident, typename P2 = ident, typename I1 = iterator_t<Rng1>, typename I2 = iterator_t<Rng2>, requires = (ForwardRange<Rng1>() && ForwardRange<Rng2>() && IsPermutationable<I1, I2, C, P1, P2>())>
bool operator() (Rng1 &&rng1, Rng2 &&rng2, C pred=C{}, P1 proj1=P1{}, P2 proj2=P2{}) const