FreeBSD Manual Pages
std::indirectly_readable(3) C++ Standard Libary std::indirectly_readable(3) NAME std::indirectly_readable - std::indirectly_readable Synopsis Defined in header <iterator> template< class In > concept __IndirectlyReadableImpl = requires(const In in) { typename std::iter_value_t<In>; typename std::iter_reference_t<In>; typename std::iter_rvalue_reference_t<In>; { *in } -> std::same_as<std::iter_reference_t<In>>; { ranges::iter_move(in) } -> std::same_as<std::iter_rvalue_reference_t<In>>; } && (exposition std::common_reference_with< only*) std::iter_reference_t<In>&&, std::iter_value_t<In>& > && std::common_reference_with< std::iter_reference_t<In>&&, std::iter_rvalue_reference_t<In>&& > && std::common_reference_with< std::iter_rvalue_reference_t<In>&&, const std::iter_value_t<In>& >; template< class In > concept indirectly_readable = (since C++20) __IndirectlyReadableImpl<std::remove_cvref_t<In>>; The concept indirectly_readable is modeled by types that are read- able 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). http://cppreference.com 2024.06.10 std::indirectly_readable(3)
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::indirectly_readable&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
