Espacios de nombres
Variantes
Acciones

std::ranges::range

De cppreference.com
< cpp‎ | ranges
 
 
Biblioteca de rangos
Adaptadores de rangos
 
Definido en el archivo de encabezado <ranges>
template< class T >

concept range = requires(T& t) {
  ranges::begin(t); // conservador de la igualdad para iteradores de avance
  ranges::end  (t);

};

El concepto range define los requisitos de un tipo que permite la iteración sobre sus elementos proporcionando un iterador y un centinela que denotan los elementos en el rango.

[editar] Requisitos semánticos

Dada una expresión E tal que decltype((E)) es T, T modela a range solo si

Nota: En la definición anterior, las expresiones requeridas ranges::begin(std::forward<T>(t)) y ranges::end(std::forward<T>(t)) no requieren variaciones de expresión implícita.