Есть ли практическое применение ContiguousIterator? - PullRequest
0 голосов
/ 11 сентября 2018

C ++ 17 введено ContiguousIterator, но нет соответствующего contiguous_iterator_tag.

Есть ли практическое использование для ContiguousIterator, если его нельзя проверить / применить с помощью std::iterator_traits?

Этот вопрос отличается от непрерывного обнаружения итераторов тем, что он не "почему у него нет тега", а "как его можно использовать, если у него нет тега".

1 Ответ

0 голосов
/ 11 сентября 2018

Именованные требования в C ++ 17 - это, прежде всего, нотация. Они соотносятся с обнаруживаемыми вещами в языке, только если они предъявляют требования, которые можно обнаружить. И ContiguousIterator не предъявляет обнаружимых требований к типам, которые их реализуют.

Таким образом, наиболее практичная вещь, которую позволяет вам ContiguousIterator, - это написать «Вы должны передать ContiguousIterator» в своей документации, понимая, что читатель отследит конкретные детали этого термина. Но нет, ContiguousIterator, как определено в C ++ 17, не позволяет вам писать что-либо, что могло бы статически определять разницу между ContiguousIterators и RandomAccessIterator, которые не являются смежными.

...