std::experimental::ranges::Readable

< cpp‎ | experimental‎ | ranges
template< class In >

concept bool Readable =
    requires {
        typename ranges::value_type_t<In>;
        typename ranges::reference_t<In>;
        typename ranges::rvalue_reference_t<In>;
    } &&
    CommonReference<ranges::reference_t<In>&&, ranges::value_type_t<In>&> &&
    CommonReference<ranges::reference_t<In>&&, ranges::rvalue_reference_t<In>&&> &&

    CommonReference<ranges::rvalue_reference_t<In>&&, const ranges::value_type_t<In>&>;
(ranges TS)

The concept Readable is satisfied by types that are readable by applying operator*, such as pointers, smart pointers, and iterators.