std::ranges::borrowed_iterator_t, std::ranges::borrowed_subrange_t
De cppreference.com
<tbody>
</tbody>
| Definido en el archivo de encabezado <ranges>
|
||
template<ranges::range R> using borrowed_iterator_t = std::conditional_t<ranges::borrowed_range<R>, ranges::iterator_t<R>, ranges::dangling>; |
(1) | (desde C++20) |
template<ranges::range R> using borrowed_subrange_t = std::conditional_t<ranges::borrowed_range<R>, ranges::subrange<ranges::iterator_t<R>>, ranges::dangling>; |
(2) | (desde C++20) |
1) Lo mismo que ranges::iterator_t cuando
R modela a borrowed_range, de otra forma produce ranges::dangling.2) Similar a (1), pero produce una especialización de ranges::subrange cuando se satisface la misma condición.
Estas dos plantillas de alias se usan por algunos algoritmos restringidos para evitar devolver iteradores o vistas potencialmente pendientes.
Véase también
(C++20) |
Un tipo marcador de posición que indica que un iterador o un subrango (subrange) no debe devolverse ya que quedaría pendiente. (clase) |