no-throw-input-iterator , no-throw-forward-iterator , no-throw-sentinel-for , no-throw-input-range , no-throw-forward-range
|
template
<
class
I
>
concepto no
-
throw
-
input
-
iterator
=
|
(1) | ( solo para exposición* ) |
|
template
<
class
I
>
concepto no
-
throw
-
forward
-
iterator
=
|
(2) | ( solo para exposición* ) |
|
template
<
class
S,
class
I
>
concepto no - throw - sentinel - for = std:: sentinel_for < S, I > ; |
(3) | ( solo para exposición* ) |
|
template
<
class
R
>
concepto no
-
throw
-
input
-
range
=
|
(4) | ( solo para exposición* ) |
|
template
<
class
R
>
concepto no
-
throw
-
forward
-
range
=
|
(5) | ( solo para exposición* ) |
Estos conceptos solo de exposición especifican que no se lanzan excepciones desde las operaciones requeridas por algoritmos en iteradores, centinelas y rangos.
no-throw-input-iterator
requiere que desreferenciar el iterador produzca un lvalue, como
contiguous_iterator
y
LegacyForwardIterator
.
Requisitos semánticos
Como todos los conceptos estándar, cada concepto listado aquí se modela solo si todos los conceptos que subsume están modelados.
I
modela
no-throw-input-iterator
solo si no se lanzan excepciones desde el incremento, construcción por copia, construcción por movimiento, asignación por copia, asignación por movimiento, o desreferenciación a través de iteradores válidos.
S
y
I
modelan
no-throw-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
.
R
modela
no-throw-input-range
solo si no se lanzan excepciones desde las llamadas a
ranges::
begin
y
ranges::
end
sobre un objeto de tipo
R
.
Notas
Estos conceptos permiten que algunas operaciones sobre iteradores y sentineles puedan lanzar excepciones, por ejemplo, operaciones sobre valores inválidos.
Véase también
|
(C++20)
|
especifica que un tipo es un iterador de entrada, es decir, sus valores referenciados pueden leerse y puede incrementarse tanto pre- como post-
(concepto) |
|
(C++20)
|
especifica que un
input_iterator
es un iterador de avance, que admite comparación de igualdad y múltiples pasadas
(concepto) |
|
(C++20)
|
especifica que un tipo es un centinela para un tipo
input_or_output_iterator
(concepto) |
|
(C++20)
|
especifica un rango cuyo tipo de iterador satisface
input_iterator
(concepto) |
|
(C++20)
|
especifica un rango cuyo tipo de iterador satisface
forward_iterator
(concepto) |