Namespaces
Variants

nothrow-input-range, nothrow-forward-range, nothrow-bidirectional-range, no-throw-input-range, nothrow-random-access-range, nothrow-sized-random-access-range

De es.cppreference.net
 
 
Biblioteca de algoritmos
Algoritmos restringidos y algoritmos sobre rangos (C++20)
Algoritmos restringidos, ej. ranges::copy, ranges::sort, ...
Operaciones de secuencia no modificadoras    
Operaciones por lotes
(C++17)
Operaciones de búsqueda
Operaciones de secuencia modificadoras
Operaciones de copia
(C++11)
(C++11)
Operaciones de intercambio
Operaciones de transformación
Operaciones de generación
Operaciones de eliminación
Operaciones de cambio de orden
(hasta C++17)(C++11)
(C++20)(C++20)
Operaciones de muestreo
(C++17)

Ordenamiento y operaciones relacionadas
Operaciones de partición
(C++11)    

Operaciones de ordenamiento
Operaciones de búsqueda binaria
(en rangos particionados)
Operaciones de conjunto (en rangos ordenados)
Operaciones de fusión (en rangos ordenados)
Operaciones de montículo
Operaciones de mínimo/máximo
(C++11)
(C++17)
Operaciones de comparación lexicográfica
Operaciones de permutación


 
 
template< class R >
concept /*nothrow-input-range*/ =
    ranges::range<R> &&
    /*nothrow-input-iterator*/<ranges::iterator_t<R>> &&
    /*nothrow-sentinel-for*/<ranges::sentinel_t<R>, ranges::iterator_t<R>>;
(1) (solo para exposición*)
template< class R >
concept /*nothrow-forward-range*/ =
    /*nothrow-input-range*/<R> &&
    /*nothrow-forward-iterator*/<ranges::iterator_t<R>>;
(2) (solo para exposición*)
template< class R >
concept /*nothrow-bidirectional-range*/ =
    /*nothrow-forward-range*/<R> &&
    /*nothrow-bidirectional-iterator*/<ranges::iterator_t<R>>;
(3) (desde C++26)
(solo para exposición*)
template< class R >
concept /*nothrow-random-access-range*/ =
    /*nothrow-bidirectional-range*/<R> &&
    /*nothrow-random-access-iterator*/<ranges::iterator_t<R>>;
(4) (desde C++26)
(solo para exposición*)
template< class R >
concept /*nothrow-sized-random-access-range*/ =
    /*nothrow-random-access-range*/<R> && ranges::sized_range<R>;
(5) (desde C++26)
(solo para exposición*)

Estos conceptos de solo exposición especifican que no se lanzan excepciones desde las operaciones requeridas por los algoritmos <memory> especializados sobre rangos.

Para las definiciones de /*nothrow-input-iterator*/, /*nothrow-forward-iterator*/, /*nothrow-bidirectional-iterator*/ y /*nothrow-random-access-iterator*/, vea esta página.

Requisitos semánticos

1) Un tipo R modela nothrow-input-range solo si no se lanzan excepciones desde llamadas a ranges::begin y ranges::end en un objeto de tipo R.
5) Un tipo R modela nothrow-sized-random-access-range solo si no se lanzan excepciones desde llamadas a ranges::size en un objeto de tipo R.

Notas

Estos conceptos permiten que algunas operaciones sobre rangos lancen excepciones.

Véase también

especifica que un tipo es un rango, es decir, proporciona un begin iterador y un end centinela
(concepto)
especifica que un rango conoce su tamaño en tiempo constante
(concepto)
obtiene los tipos de iterador y centinela de un rango
(plantilla de alias)