std::indirectly_readable
Defined in header <iterator> | ||
template<class In > concept __IndirectlyReadableImpl = | (exposition only*) | |
template<class In > concept indirectly_readable = | (since C++20) | |
The concept indirectly_readable
is modeled by types that are readable by applying operator*, such as pointers, smart pointers, and input iterators.
[edit]Semantic requirements
Given a value i
of type I
, I
models indirectly_readable
only if all concepts it subsumes are modeled and the expression *i is equality-preserving.
[edit]Equality preservation
Expressions declared in requires expressions of the standard library concepts are required to be equality-preserving (except where stated otherwise).