nothrow-sentinel-for, nothrow-sized-sentinel-for
Depuis fr.cppreference.net
template< class S, class I >
concept /*nothrow-sentinel-for*/ = std::sentinel_for<S, I>;
|
(1) | (exposition uniquement*) |
template< class I >
concept /*nothrow-sized-sentinel-for*/ =
/*nothrow-sentinel-for*/<S, I> &&
std::sized_sentinel_for<S, I>;
|
(2) | (depuis C++26) (exposition uniquement*) |
Ces concepts d'exposition uniquement spécifient qu'aucune exception n'est levée par les opérations requises par les algorithmes mémoire spécialisés <memory> entre itérateurs et sentinelles.
Exigences sémantiques
1) Les types
S et I modélisent nothrow-sentinel-for seulement si aucune exception n'est levée par la construction par copie, la construction par déplacement, l'affectation par copie, l'affectation par déplacement, ou les comparaisons entre valeurs valides du type I et S.2) Les types
S et I modélisent nothrow-sized-sentinel-for seulement si aucune exception n'est levée par l'opérateur - pour des valeurs valides du type I et S.Notes
Ces concepts permettent à certaines opérations sentinel_for et sized_sentinel_for de lever des exceptions.
Voir aussi
(C++20) |
spécifie qu'un type est une sentinelle pour un type input_or_output_iterator (concept) |
(C++20) |
spécifie que l'opérateur - peut être appliqué à un itérateur et une sentinelle pour calculer leur différence en temps constant (concept) |