Namespaces
Variants

std::ranges::view_interface<D>:: front

From cppreference.net
Ranges library
Range adaptors
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 * 에 따라 결정됩니다.

1) derived static_cast < D & > ( * this ) 로 설정합니다. return * ranges:: begin ( derived ) ; 와 동일합니다. empty() true 인 경우(즉, 시작 반복자가 센티널과 동일하게 비교되는 경우), 동일한 방식으로 얻은 반복자가 역참조 가능하더라도 동작은 정의되지 않습니다.
2) (1) 과 동일하지만, derived static_cast < const D & > ( * this ) 인 경우는 예외입니다.

목차

반환값

뷰의 첫 번째 요소입니다.

참고 사항

C++20에서, 표준 라이브러리 내 std::ranges::view_interface 에서 파생된 어떤 타입도 자체적인 front() 멤버 함수를 제공하지 않습니다. 이러한 타입들의 거의 모두가 기본 구현을 사용합니다.

주목할 만한 예외는 std::ranges::basic_istream_view 입니다. 이것은 절대 forward_range 를 만족하지 않기 때문에, 뷰는 상속된 front() 를 사용할 수 없습니다.

상속된 front() 멤버 함수는 std::ranges::empty_view 에서 사용 가능하지만, 이를 호출하면 항상 정의되지 않은 동작이 발생합니다.

예제

참고 항목

(C++11) (C++14)
컨테이너나 배열의 시작 부분을 가리키는 반복자를 반환합니다
(함수 템플릿)
범위의 시작 부분을 가리키는 반복자를 반환합니다
(커스터마이제이션 포인트 객체)
읽기 전용 범위의 시작 부분을 가리키는 반복자를 반환합니다
(커스터마이제이션 포인트 객체)