std::ranges::view_interface<D>:: size
|
constexpr
auto
size
(
)
requires
ranges::
forward_range
<
D
>
&&
std::
sized_sentinel_for
<
ranges::
sentinel_t
<
D
>
,
|
(1) | (C++20 이후) |
|
constexpr
auto
size
(
)
const
requires
ranges::
forward_range
<
const
D
>
&&
std::
sized_sentinel_for
<
ranges::
sentinel_t
<
const
D
>
,
|
(2) | (C++20 이후) |
size()
멤버 함수의 기본 구현은 센티넬과 시작 반복자 간의 차이를 계산하여 범위의 크기를 구합니다.
목차 |
반환값
to-unsigned-like
(
ranges::
end
(
static_cast
<
D
&
>
(
this
)
)
-
ranges::
begin
(
static_cast
<
D
&
>
(
this
)
)
)
.
to-unsigned-like
(
ranges::
end
(
static_cast
<
const
D
&
>
(
this
)
)
-
ranges::
begin
(
static_cast
<
const
D
&
>
(
this
)
)
)
.
참고 사항
다음 파생 타입들은
size()
의 기본 구현을 사용할 수 있습니다:
다음 타입들은
std::ranges::view_interface
에서 파생되었으며 자체적인
size()
멤버 함수를 선언하지 않지만, 해당 반복자와 센티넬 타입이
sized_sentinel_for
를 절대 만족하지 않기 때문에 기본 구현을 사용할 수 없습니다:
- std::ranges::basic_istream_view
- std::ranges::filter_view
- std::ranges::join_view
- std::ranges::lazy_split_view
- std::ranges::split_view
- std::ranges::take_while_view
태그 내 내용, C++ 관련 용어(std::ranges::basic_istream_view 등)는 번역하지 않고 원본을 유지했습니다. 번역이 필요한 텍스트가 포함되지 않은 목록이므로 원본 HTML 구조를 그대로 반환합니다.
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 3646 | C++20 |
size
함수들의 기본 구현이 부호 있는 타입을 반환함
|
부호 없는 타입을 반환함 |
참고 항목
|
(C++17)
(C++20)
|
컨테이너나 배열의 크기를 반환합니다
(함수 템플릿) |
|
(C++20)
|
범위의 크기와 같은 정수를 반환합니다
(커스터마이제이션 포인트 객체) |
|
(C++20)
|
범위의 크기와 같은 부호 있는 정수를 반환합니다
(커스터마이제이션 포인트 객체) |