从range-v3的文档中:
view::all
返回包含源中所有元素的范围。用于将容器转换为范围。
让我感到困惑的是:
- 在什么场景下
view::all
使用? - 标准容器(
std::vector
,std::list
等)在概念上不是范围吗?
例如:
auto coll = std::vector{ 1, 2, 2, 3 };
view::all(coll) | view::unique; // version 1
coll | view::unique; // version 2
version 1
和有什么区别version 2
吗?