nothrow-sentinel-for、nothrow-sized-sentinel-for
ja.cppreference.net より
template< class S, class I >
concept /*nothrow-sentinel-for*/ = std::sentinel_for<S, I>;
|
(1) | (説明専用*) |
template< class I >
concept /*nothrow-sized-sentinel-for*/ =
/*nothrow-sentinel-for*/<S, I> &&
std::sized_sentinel_for<S, I>;
|
(2) | (C++26 以降) (説明専用*) |
これらの説明専用コンセプトは、特殊化された <メモリ> アルゴリズムにおいて、イテレータと番兵の間で必要な操作から例外が送出されないことを指定します。
意味要件
1) 型
S と I が nothrow-sentinel-for をモデル化するのは、型 I と S の有効な値に対するコピー構築、ムーブ構築、コピー代入、ムーブ代入、または比較から例外が送出されない場合に限ります。2) 型
S と I が nothrow-sized-sentinel-for をモデル化するのは、型 - と I の有効な値に対する S 演算子から例外が送出されない場合に限ります。注意
これらのコンセプトにより、一部の sentinel_for や sized_sentinel_for 操作で例外が送出されることが許容されます。
関連項目
(C++20) |
ある型が input_or_output_iterator 型の番兵であることを指定します (コンセプト) |
(C++20) |
- 演算子をイテレータと番兵に適用してそれらの差を定数時間で計算できることを指定します (コンセプト) |