libstdc++: std::ranges::viewable_range Concept Reference

libstdc++

std::ranges::viewable_range Concept Reference

`#include <ranges_base.h>`

## Concept definition

template<typename _Tp>
concept 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:162
std::ranges::range
[range.range] The range concept.
Definition ranges_base.h:510
std::ranges::view
[range.view] The ranges::view concept.
Definition ranges_base.h:608
std::ranges::viewable_range
A range which can be safely converted to a view.
Definition ranges_base.h:853

## Detailed Description

A range which can be safely converted to a view.

Definition at line 853 of file ranges_base.h.