std::experimental::ranges:: is_permutation
|
헤더에 정의됨
<experimental/ranges/algorithm>
|
||
|
template
<
ForwardIterator I1, Sentinel
<
I1
>
S1, ForwardIterator I2, Sentinel
<
I2
>
S2,
class
Pred
=
ranges::
equal_to
<>
,
|
(1) | (ranges TS) |
|
template
<
ForwardRange R1, ForwardRange R2,
class
Pred
=
ranges::
equal_to
<>
,
class
Proj1
=
ranges::
identity
,
class
Proj2
=
ranges::
identity
>
|
(2) | (ranges TS) |
|
template
<
ForwardIterator I1, Sentinel
<
I1
>
S1,
class
I2,
class
Pred
=
ranges::
equal_to
<>
,
|
(3) |
(범위 TS)
(사용 중단됨) |
|
template
<
ForwardRange R1,
class
I2,
class
Pred
=
ranges::
equal_to
<>
,
class
Proj1
=
ranges::
identity
,
class
Proj2
=
ranges::
identity
>
|
(4) |
(범위 TS)
(사용 중단됨) |
[
first1
,
last1
)
의 요소들을 순열하여 범위
[
first2
,
last2
)
와 동일하게 만들 수 있으면
true
를 반환하고, 그렇지 않으면
false
를 반환합니다.
두 범위는 동일한 수의 요소를 가지고, 범위
[
first1
,
last1
)
내의 모든 반복자
i
에 대해
ranges::
invoke
(
pred,
ranges::
invoke
(
proj1,
*
i
)
,
ranges::
invoke
(
proj2,
*
(
first2
+
(
i
-
first1
)
)
)
)
가
true
인 경우 동일한 것으로 간주됩니다.
위에 기술된 선언들과는 별개로, 알고리즘 선언에 대한 실제 템플릿 매개변수의 개수와 순서는 명시되지 않습니다. 따라서 알고리즘을 호출할 때 명시적 템플릿 인수를 사용하는 경우, 해당 프로그램은 이식성이 없을 가능성이 높습니다.
목차매개변수
반환값
true
를 반환합니다, 만약 범위
복잡도최대 O(N 2 ) 번의 술어 및 각 프로젝션 적용, 또는 시퀀스가 이미 동일한 경우 정확히 N 번 적용됩니다. 여기서 N = last1 - first1 입니다. 그러나 만약 SizedSentinel < S1, I1 > && SizedSentinel < S2, I2 > 가 만족되고 last1 - first1 ! = last2 - first2 인 경우, 술어와 투영 함수의 적용이 이루어지지 않습니다. 예제
함께 보기
|