std::indirectly_readable
Материал из cppreference.com
| Этот раздел не завершён Причина: Проверить перевод |
| Определено в заголовочном файле <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> >; } && std::common_reference_with< 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 = __IndirectlyReadableImpl<std::remove_cvref_t<In>>; |
(начиная с C++20) | |
Концепт
indirectly_readable моделируется типами, которые можно прочитать, применив разыменовывание, такими как указатели, интеллектуальные указатели и итераторы ввода.Оригинал:
The concept
indirectly_readable is modeled by types that are readable by applying operator*, such as pointers, smart pointers, and input iterators.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Семантические требования
Учитывая значение
i типа I, I моделирует indirectly_readable только в том случае, если все понятия, которые оно включает, смоделированы и выражение *i cохраняет равенство.Оригинал:
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.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Сохранение равенства
Выражения, объявленные в выражениях requires концептов стандартной библиотеки, должны сохранять равенство (если не указано иное).