no-throw-input-iterator , no-throw-forward-iterator , no-throw-sentinel-for , no-throw-input-range , no-throw-forward-range
|
template
<
class
I
>
concept no
-
throw
-
input
-
iterator
=
|
(1) | ( 説明専用* ) |
|
template
<
class
I
>
concept no
-
throw
-
forward
-
iterator
=
|
(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
=
|
(4) | ( 説明専用* ) |
|
template
<
class
R
>
concept no
-
throw
-
forward
-
range
=
|
(5) | ( 説明専用* ) |
これらの説明専用コンセプトは、イテレータ、センチネル、およびレンジに対するアルゴリズムが必要とする操作から例外が送出されないことを指定します。
no-throw-input-iterator
コンセプトは、イテレータのデリファレンスが
contiguous_iterator
や
LegacyForwardIterator
のように左辺値を返すことを要求します。
セマンティック要件
全ての標準コンセプトと同様に、ここに列挙された各コンセプトは、それが包含する全てのコンセプトがモデル化されている場合にのみモデル化されます。
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.
S
と
I
は、
no-throw-sentinel-for
をモデル化するのは、型
I
と
S
の有効な値間のコピー構築、ムーブ構築、コピー代入、ムーブ代入、または比較から例外がスローされない場合のみである。
注記
これらの概念は、イテレータとセンチネルに対する一部の操作が例外をスローすることを許可します。例えば、無効な値に対する操作などです。
関連項目
|
(C++20)
|
型が入力イテレータであること、つまり参照する値を読み取ることができ、前置および後置インクリメントが可能であることを指定する
(concept) |
|
(C++20)
|
input_iterator
が前方イテレータであること、等値比較とマルチパスをサポートすることを指定する
(concept) |
|
(C++20)
|
型が
input_or_output_iterator
型のセンチネルであることを指定する
(concept) |
|
(C++20)
|
イテレータ型が
input_iterator
を満たす範囲を指定する
(concept) |
|
(C++20)
|
イテレータ型が
forward_iterator
を満たす範囲を指定する
(concept) |