Namespaces
Variants

no-throw-input-iterator , no-throw-forward-iterator , no-throw-sentinel-for , no-throw-input-range , no-throw-forward-range

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(1) ( 説明専用* )
template < class I >

concept no - throw - forward - iterator =
no - throw - input - iterator < I > &&
std:: forward_iterator < I > &&

no - throw - sentinel - for < I, I > ;
(2) ( 説明専用* )
template < class S, class I >
concept no - throw - sentinel - for = std:: sentinel_for < S, I > ;
(3) ( 説明専用* )
template < class R >

concept no - throw - input - range =
ranges:: range < R > &&
no - throw - input - iterator < ranges:: iterator_t < R >> &&

no - throw - sentinel - for < ranges:: sentinel_t < R > , ranges:: iterator_t < R >> ;
(4) ( 説明専用* )
template < class R >

concept no - throw - forward - range =
no - throw - input - range < R > &&

no - throw - forward - iterator < ranges:: iterator_t < R >> ;
(5) ( 説明専用* )

これらの説明専用コンセプトは、イテレータ、センチネル、およびレンジに対するアルゴリズムが必要とする操作から例外が送出されないことを指定します。

1) no-throw-input-iterator コンセプトは、イテレータのデリファレンスが contiguous_iterator LegacyForwardIterator のように左辺値を返すことを要求します。

セマンティック要件

全ての標準コンセプトと同様に、ここに列挙された各コンセプトは、それが包含する全てのコンセプトがモデル化されている場合にのみモデル化されます。

1) A type I models no-throw-input-iterator only if no exceptions are thrown from increment, copy construction, move construction, copy assignment, move assignment, or indirection through valid iterators.
3) S I は、 no-throw-sentinel-for をモデル化するのは、型 I S の有効な値間のコピー構築、ムーブ構築、コピー代入、ムーブ代入、または比較から例外がスローされない場合のみである。
4) R no-throw-input-range をモデル化するのは、 ranges:: begin および ranges:: end の呼び出しから例外がスローされない場合に限ります。

注記

これらの概念は、イテレータとセンチネルに対する一部の操作が例外をスローすることを許可します。例えば、無効な値に対する操作などです。

関連項目

型が入力イテレータであること、つまり参照する値を読み取ることができ、前置および後置インクリメントが可能であることを指定する
(concept)
input_iterator が前方イテレータであること、等値比較とマルチパスをサポートすることを指定する
(concept)
型が input_or_output_iterator 型のセンチネルであることを指定する
(concept)
イテレータ型が input_iterator を満たす範囲を指定する
(concept)
イテレータ型が forward_iterator を満たす範囲を指定する
(concept)