Namespaces
Variants

std::ranges::borrowed_iterator_t, std::ranges::borrowed_subrange_t

cppreference.net에서
 
 
Ranges 라이브러리
범위 어댑터
 
헤더에 정의됨 <ranges>
template< ranges::range R >
using borrowed_iterator_t = /* see below */;
(1) (C++20부터)
template< ranges::range R >
using borrowed_subrange_t = /* see below */;
(2) (C++20부터)
1) 만약 std::ranges::iterator_t<R>R모델로 하면 borrowed_range, std::ranges::dangling 그렇지 않으면.
2) 만약 std::ranges::subrange<std::ranges::iterator_t<R>>R모델로 하면 borrowed_range, std::ranges::dangling 그렇지 않으면.

이 두 별칭 템플릿은 일부 제약 알고리즘에서 잠재적으로 댕글링하는 반복자나 뷰를 반환하지 않도록 하기 위해 사용됩니다.

가능한 구현

borrowed_iterator_t
template< std::ranges::range R >
using borrowed_iterator_t = std::conditional_t<std::ranges::borrowed_range<R>,
    std::ranges::iterator_t<R>, std::ranges::dangling>;
borrowed_subrange_t
template< std::ranges::range R >
using borrowed_subrange_t = std::conditional_t<std::ranges::borrowed_range<R>,
    std::ranges::subrange<std::ranges::iterator_t<R>>, std::ranges::dangling>;

참고 항목

댕글링(dangling) 상태일 것이므로 반환되어서는 안 되는 반복자나 subrange 를 나타내는 플레이스홀더 타입
(클래스)