范围TS突破变化?

时间:2016-11-30 14:50:25

标签: c++ range c++-standard-library stl-algorithm range-v3

据说,将Ranges TS注入std命名空间会对标准库造成许多重大更改(例如this link)。有人知道这些变化是什么吗?

1 个答案:

答案 0 :(得分:4)

来自N4569 Annex B(由@Holt在上述评论中链接):

  • 算法返回类型 - 已修改为包含结束迭代器

  • 更强的约束 - 以前需要<的算法现在需要所有比较运算符

  • 约束功能对象 - 添加到std::less类型等的约束。

  • 迭代器和Default-Constructibility - Ranges_v3假定迭代器可以默认构造(以有用的方式)。目前不需要这样做。

  • iterator_traits无法专门化 - 在Range_v3中,它是别名模板。

  • N3351 - 它在很多方面也与N3351提案不符,我不会在这里讨论。

这只是一个总结。请点击纸张链接或查找详细信息。