std::ranges::viewable_range Concept Reference

`#include <ranges_base.h>`

## Concept definition

template<typename _Tp>
concept std::ranges::viewable_range = range<_Tp>
&& ((view<remove_cvref_t<_Tp>> && constructible_from<remove_cvref_t<_Tp>, _Tp>)
|| (!view<remove_cvref_t<_Tp>>
&& (is_lvalue_reference_v<_Tp>
|| (movable<remove_reference_t<_Tp>>
&& !__detail::__is_initializer_list<remove_cvref_t<_Tp>>))))
std::constructible_from
[concept.constructible], concept constructible_from
Definition concepts:137
std::ranges::range
[range.range] The range concept.
Definition ranges_base.h:583
std::ranges::view
[range.view] The ranges::view concept.
Definition ranges_base.h:649
std::ranges::viewable_range
A range which can be safely converted to a view.
Definition ranges_base.h:702

## Detailed Description

A range which can be safely converted to a view.

Definition at line 702 of file ranges_base.h.