Я просматривал различные предложения Range TS, в том числе P0896, один из которых включает диапазоны в С++ 20. По моему мнению, единственное требование, которое концепция Iterator
делает в терминах разыменования, состоит в том, что *t
является допустимым синтаксисом, который дает объект некоторого типа.
Поскольку InputIterator
определяется как Iterator
и является Readable
, ни одна из которых не требует поддержки operator->
, похоже, что TS и С++ 20 не требуют, чтобы итераторы предоставляли ->
поддержку.
Это так?