如何确定`range :: view`对象和`std :: vector`之间的等价?

时间:2017-12-21 21:42:07

标签: compare comparison stdvector range-v3

我正在使用优秀的range-v3库。我的一个函数返回一个ranges::view对象,我想将其与std::vector进行比较。当然,我可以逐个元素进行比较,但必须有更好的方法。

  

如何确定ranges::view对象与std::vector之间的等效性?

1 个答案:

答案 0 :(得分:2)

如果您想知道两个范围是否引用相等元素的序列,请将它们传递给ranges::equal算法(DEMO):

int main() {
  std::vector<int> vec{5,4,3,2,1,0};
  assert(ranges::equal(vec, ranges::view::iota(0, 6) | ranges::view::reverse));
}