2017-12-21 44 views
1

私は優れたrange-v3ライブラリを使用しています。私の関数の1つはオブジェクトを返します。これはstd::vectorと比較したいと思います。もちろん、要素ごとに比較することはできますが、より良い方法が必要です。`ranges :: view`オブジェクトと` std :: vector`オブジェクトの等価性を判断する方法は?

ranges::viewオブジェクトとstd::vectorの等価性を判断する方法はありますか。

答えて

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)); 
} 
+0

私は範囲のライブラリを好きですが、多くの場合、徹底的かつ完全なライブラリとその答えを見つける場所を知ることは難しいです。助けてくれてありがとう! – jlconlin

関連する問題