nothrow-sentinel-for, nothrow-sized-sentinel-for
De es.cppreference.net
template< class S, class I >
concept /*nothrow-sentinel-for*/ = std::sentinel_for<S, I>;
|
(1) | (solo para exposición*) |
template< class I >
concept /*nothrow-sized-sentinel-for*/ =
/*nothrow-sentinel-for*/<S, I> &&
std::sized_sentinel_for<S, I>;
|
(2) | (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 especializados de <memory> entre iteradores y centinelas.
Requisitos semánticos
1) Los tipos
S y I modelan nothrow-sentinel-for solo si no se lanzan excepciones desde la construcción por copia, construcción por movimiento, asignación por copia, asignación por movimiento, o comparaciones entre valores válidos de tipo I y S.2) Los tipos
S y I modelan nothrow-sized-sentinel-for solo si no se lanzan excepciones desde el operador - para valores válidos de tipo I y S.Notas
Estos conceptos permiten que algunas operaciones de sentinel_for y sized_sentinel_for lancen excepciones.
Véase también
(C++20) |
especifica que un tipo es un centinela para un tipo input_or_output_iterator (concepto) |
(C++20) |
especifica que el operador - puede aplicarse a un iterador y un centinela para calcular su diferencia en tiempo constante (concepto) |