Namespaces
Variants

std:: indirectly_readable

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
Определено в заголовке <iterator>
( только для демонстрации* )
template < class In >

concept indirectly_readable =

__IndirectlyReadableImpl < std:: remove_cvref_t < In >> ;
(начиная с C++20)

Концепция indirectly_readable моделируется типами, которые можно читать с помощью применения operator * , такие как указатели, умные указатели и входные итераторы.

Семантические требования

Для значения i типа I , I моделирует indirectly_readable только в том случае, если все подразумеваемые концепции выполнены и выражение * i является сохраняющим равенство .

Сохранение равенства

Выражения, объявленные в requires выражениях концепций стандартной библиотеки, должны быть equality-preserving (если не указано иное).