std::ranges::borrowed_iterator_t, std::ranges::borrowed_subrange_t
ja.cppreference.net より
| ヘッダ <ranges>
|
||
template< ranges::range R >
using borrowed_iterator_t = /* see below */;
|
で定義 (1) | (C++20以上) |
template< ranges::range R >
using borrowed_subrange_t = /* see below */;
|
(2) | (C++20以上) |
2)
std::ranges::subrange<std::ranges::iterator_t<R>> もし R が borrowed_range をモデル化するなら 、そうでなければ std::ranges::dangling。これら2つのエイリアステンプレートは、いくつかの制約付きアルゴリズムで、潜在的に宙吊りになるイテレータやビューを返さないようにするために使用されます。
実装例
| borrowed_iterator_t |
|---|
template< std::ranges::range R > using borrowed_iterator_t = std::conditional_t<std::ranges::borrowed_range<R>, std::ranges::iterator_t<R>, std::ranges::dangling>; |
| borrowed_subrange_t |
template< std::ranges::range R > using borrowed_subrange_t = std::conditional_t<std::ranges::borrowed_range<R>, std::ranges::subrange<std::ranges::iterator_t<R>>, std::ranges::dangling>; |
関連項目
|
(C++20)
|
イテレータまたは
subrange
がダングリング状態となるため返すべきではないことを示すプレースホルダ型
(クラス) |