deduction guides for std::ranges::take_view

From cppreference.com
< cpp‎ | ranges‎ | take view
 
 
Ranges library
Range access
Range conversions
(C++23)
Range primitives



Dangling iterator handling
Range concepts
Views

Factories






Adaptors
Range adaptor objects
Range adaptor closure objects
Helper items
 
 
Defined in header <ranges>
template< class R >
take_view( R&&, ranges::range_difference_t<R> ) -> take_view<views::all_t<R>>;
(since C++20)

The deduction guide is provided for std::ranges::take_view to allow deduction from range and number of elements.

If R is a view, the deduced type is ranges::take_view<R>; otherwise, the deduced type is usually ranges::take_view<ranges::ref_view<R>>.

Example

Defect Reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 3447 C++20 the template parameter R is constrained with range R is unconstrained
(but range_difference_t requires range)