std::ranges::view_interface<D>::front
constexpr decltype(auto) front()
requires ranges::forward_range<D>;
|
(1) | (C++20부터) |
constexpr decltype(auto) front() const
requires ranges::forward_range<const D>;
|
(2) | (C++20부터) |
front() 멤버 함수의 기본 구현은 파생된 유형의 뷰에서 첫 번째 요소를 반환합니다. 요소가 값으로 반환되는지 참조로 반환되는지는 반복자 유형의 operator*에 따라 다릅니다.
return *ranges::begin(derived);와 동일합니다. 여기서 derived는 다음과 같습니다:
static_cast<D&>(*this)static_cast<const D&>(*this)
|
|
(C++26까지) |
|
|
(C++26부터) |
반환값
뷰의 첫 번째 요소입니다.
참고 사항
C++20에서, 표준 라이브러리 내
std::ranges::view_interface
에서 파생된 어떤 타입도 자체적인
front()
멤버 함수를 제공하지 않습니다. 이러한 타입들의 거의 모두가 기본 구현을 사용합니다.
주목할 만한 예외는
std::ranges::basic_istream_view
입니다. 이것은 절대
forward_range
를 만족하지 않기 때문에, 뷰는 상속된
front()
를 사용할 수 없습니다.
상속된
front()
멤버 함수는
std::ranges::empty_view
에서 사용 가능하지만, 이를 호출하면 항상 정의되지 않은 동작이 발생합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++11)
(C++14)
|
컨테이너나 배열의 시작 부분을 가리키는 반복자를 반환합니다
(함수 템플릿) |
|
(C++20)
|
범위의 시작 부분을 가리키는 반복자를 반환합니다
(커스터마이제이션 포인트 객체) |
|
(C++20)
|
읽기 전용 범위의 시작 부분을 가리키는 반복자를 반환합니다
(커스터마이제이션 포인트 객체) |