# std::experimental::ranges::Readable

From cppreference.com
< cpp‎ | experimental‎ | ranges

Defined in header `<experimental/ranges/iterator>` |  |

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.

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/ranges/iterator/Readable&oldid=105798"