std::ranges::borrowed_iterator_t, std::ranges::borrowed_subrange_t
Von cppreference.com
| Definiert in der Header-Datei <ranges> |
||
template< ranges::range R > using borrowed_iterator_t = /* siehe unten */; |
(1) | (seit C++20) |
template< ranges::range R > using borrowed_subrange_t = /* siehe unten */; |
(2) | (seit C++20) |
2) std::ranges::subrange<std::ranges::iterator_t<R>> falls
R borrowed_range modelliert, std::ranges::dangling andernfalls.Diese beiden Alias-Templates werden von einigen eingeschränkten Algorithmen verwendet, um die Rückgabe von potenziell hängenden Iteratoren oder Views zu vermeiden.
[bearbeiten] Mögliche Implementierung
| 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>; |
[bearbeiten] Siehe auch
| (C++20) |
ein Platzhaltertyp, der anzeigt, dass ein Iterator oder ein subrange nicht zurückgegeben werden sollte, da er hängen würde(Klasse) |