std::ranges::view_interface<D>:: back
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
| Member functions | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
back
|
||||
|
constexpr
decltype
(
auto
)
back
(
)
requires ranges:: bidirectional_range < D > && ranges:: common_range < D > ; |
(1) | (C++20 이후) |
|
constexpr
decltype
(
auto
)
back
(
)
const
requires ranges:: bidirectional_range < const D > && ranges:: common_range < const D > ; |
(2) | (C++20 이후) |
back()
멤버 함수의 기본 구현은 파생 타입의 뷰에서 마지막 요소를 반환합니다. 요소가 값으로 반환되는지 참조로 반환되는지는 반복자 타입의
operator
*
에 따라 결정됩니다.
derived
를
static_cast
<
D
&
>
(
*
this
)
로 설정합니다.
return
*
ranges::
prev
(
ranges::
end
(
derived
)
)
;
와 동일합니다.
empty()
가
true
인 경우(즉, 시작 반복자가 센티넬과 동일한 경우), 동일한 방식으로 얻은 반복자가 역참조 가능하더라도 동작은 정의되지 않습니다.
derived
가
static_cast
<
const
D
&
>
(
*
this
)
인 경우는 예외입니다.
목차 |
반환값
뷰의 마지막 요소입니다.
참고 사항
C++20에서, 표준 라이브러리의
std::ranges::view_interface
에서 파생된 어떤 타입도 자체적인
back()
멤버 함수를 제공하지 않습니다.
그러나 다음과 같은 파생 타입들은 기본 구현을 사용할 수 없습니다. 이들은
bidirectional_range
도
common_range
도 결코 만족시키지 않기 때문입니다:
- std::ranges::basic_istream_view
- std::ranges::lazy_split_view
- std::ranges::split_view
- std::ranges::take_while_view
상속된
back()
멤버 함수는
std::ranges::empty_view
에서 사용 가능하지만, 이를 호출하면 항상 정의되지 않은 동작이 발생합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++14)
|
컨테이너나 배열의 시작 부분을 가리키는 역방향 반복자를 반환합니다
(함수 템플릿) |
|
(C++20)
|
범위의 시작을 가리키는 역방향 반복자를 반환합니다
(커스터마이제이션 포인트 객체) |
|
(C++20)
|
읽기 전용 범위의 시작을 가리키는 역방향 반복자를 반환합니다
(커스터마이제이션 포인트 객체) |