(C++26)
(C++23)(C++23)
(C++23)
borrowed_iterator_t
borrowed_subrange_t
(C++23)
(C++23)(C++23)
(C++23)
Range concepts range borrowed_range common_range sized_range viewable_range view input_range output_range forward_range bidirectional_range random_access_range contiguous_range approximately_sized_range(C++26)
constant_range(C++23)
(C++23)(C++23)
Range adaptors views::all_tviews::all as_rvalue_viewviews::as_rvalue(C++23)(C++23)
(C++26)(C++26)
ref_view drop_viewviews::drop drop_while_viewviews::drop_while lazy_split_viewviews::lazy_split split_viewviews::split join_viewviews::join join_with_viewviews::join_with(C++23)(C++23)
(C++26)(C++26)
cache_latest_viewviews::cache_latest(C++26)(C++26)
(C++23)(C++23)
elements_viewviews::elements keys_viewviews::keys values_viewviews::values enumerate_viewviews::enumerate(C++23)(C++23)
zip_viewviews::zip(C++23)(C++23)
zip_transform_viewviews::zip_transform(C++23)(C++23)
(C++23)(C++23)
views::pairwise(C++23)
adjacent_transform_viewviews::adjacent_transform(C++23)(C++23)
views::pairwise_transform(C++23)
chunk_viewviews::chunk(C++23)(C++23)
slide_viewviews::slide(C++23)(C++23)
chunk_by_viewviews::chunk_by(C++23)(C++23)
stride_viewviews::stride(C++23)(C++23)
cartesian_product_viewviews::cartesian_product(C++23)(C++23)
(C++23)
(C++23)
(until C++23)
(C++23)
Defined in header
<ranges>
template< ranges::range R >if
R
models
borrowed_range
,
std::ranges::danglingotherwise.
2) std::ranges::subrange<std::ranges::iterator_t<R>>if
R
models
borrowed_range
,
std::ranges::danglingotherwise.
These two alias templates are used by some constrained algorithms to avoid returning potentially dangling iterators or views.
[edit] Possible implementation borrowed_iterator_ttemplate< 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>;[edit] See also ranges::dangling
(C++20)
a placeholder type indicating that an iterator or asubrange
should not be returned since it would be dangling
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4