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.
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.
Equality preservation
Expressions declared in requires-expressions of the standard library concepts are required to be equality-preserving (except where stated otherwise).