Namespaces
Variants

std::experimental::ranges:: Readable

From cppreference.net
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)

Readable という概念は、 operator* を適用することで読み取り可能な型(ポインタ、スマートポインタ、イテレータなど)によって満たされます。