Диапазоны TS ломают изменения?

Говорят, что инъекция Ранг TS в std Пространство имен вызовет ряд критических изменений в стандартной библиотеке (например, эта ссылка). Кто-нибудь знает, что это за изменения?

3

Решение

От N4569, Приложение B (как указано @Holt в комментариях выше):

  • Типы возвращаемых алгоритмов — изменены, чтобы включить конечный итератор

  • Сильные ограничения — алгоритмы, которые раньше требовали только < теперь требуются все операторы сравнения

  • Ограниченные функциональные объекты — ограничения добавлены к std::lessТип и тому подобное.

  • Iterators и Default-Constructibility — Ranges_v3 предполагает, что итераторы могут быть построены по умолчанию (полезным способом). Это в настоящее время не требуется.

  • iterator_traits не может быть специализированным — в Range_v3 это шаблон псевдонима.

  • N3351 — он также несовместим с предложением N3351 по ряду причин, которые я не буду здесь рассматривать.

Это просто резюме. Перейдите по ссылке на статью или найдите ее для более подробной информации.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]