std::experimental::basic_string_view<CharT,Traits>:: compare
From cppreference.net
<
cpp
|
experimental
|
basic string view
|
constexpr
int
compare
(
basic_string_view v
)
const
noexcept
;
|
(1) | (라이브러리 펀더멘털 TS) |
|
constexpr
int
compare
(
size_type pos1, size_type count1,
basic_string_view v ) const |
(2) | (라이브러리 펀더멘털 TS) |
|
constexpr
int
compare
(
size_type pos1, size_type count1, basic_string_view v,
size_type pos2, size_type count2 ) const ; |
(3) | (라이브러리 펀더멘털 TS) |
|
constexpr
int
compare
(
const
CharT
*
s
)
const
;
|
(4) | (라이브러리 펀더멘털 TS) |
|
constexpr
int
compare
(
size_type pos1, size_type count1,
const CharT * s ) const ; |
(5) | (라이브러리 펀더멘털 TS) |
|
constexpr
int
compare
(
size_type pos1, size_type count1,
const CharT * s, size_type count2 ) const ; |
(6) | (라이브러리 펀더멘털 TS) |
두 문자 시퀀스를 비교합니다.
1)
비교할 시퀀스의 길이
rlen
는
size
(
)
와
v.
size
(
)
중 더 작은 값입니다. 이 함수는 두 뷰를 비교하기 위해
traits
::
compare
(
data
(
)
, v.
data
(
)
, rlen
)
를 호출하며, 다음 표에 따라 값을 반환합니다:
| 조건 | 결과 | 반환 값 | |
|---|---|---|---|
Traits::compare(data(), v.data(),
rlen
) < 0
|
this
가
작음
v
보다
|
< 0 | |
Traits::compare(data(), v.data(),
rlen
) == 0
|
size() < v.size()
|
this
가
작음
v
보다
|
< 0 |
size() == v.size()
|
this
가
같음
v
와
|
0 | |
size() > v.size()
|
this
가
큼
v
보다
|
> 0 | |
Traits::compare(data(), v.data(),
rlen
) > 0
|
this
가
큼
v
보다
|
> 0 | |
2)
다음에 해당함
substr
(
pos1, count1
)
.
compare
(
v
)
.
3)
다음에 해당함:
substr
(
pos1, count1
)
.
compare
(
v.
substr
(
pos2, count2
)
)
.
4)
다음에 해당함
compare
(
basic_string_view
(
s
)
)
.
5)
다음에 해당함
substr
(
pos1, count1
)
.
compare
(
basic_string_view
(
s
)
)
.
6)
다음에 해당함
substr
(
pos1, count1
)
.
compare
(
basic_string_view
(
s, count2
)
)
.
목차 |
매개변수
| v | - | 비교할 뷰 |
| s | - | 비교 대상 문자열 포인터 |
| count1 | - | 이 뷰에서 비교할 문자 수 |
| pos1 | - | 이 뷰에서 비교할 첫 번째 문자의 위치 |
| count2 | - | 주어진 뷰에서 비교할 문자 수 |
| pos2 | - | 주어진 뷰에서 비교할 첫 번째 문자의 위치 |
반환값
이 뷰가 다른 문자 시퀀스보다 작으면 음수 값, 두 문자 시퀀스가 같으면 0, 이 뷰가 다른 문자 시퀀스보다 크면 양수 값을 반환합니다.
복잡도
1) 비교되는 문자 수에 선형적으로 비례합니다.
참고 항목
|
두 뷰를 사전식으로 비교합니다
(함수 템플릿) |