范围 v3。两个范围之间的差异
Range v3. Difference between two ranges
我试图找出两个范围之间的差异,但运气不佳。
像
vector<int> l{ 1,5,6 };
auto diff = views::ints(1,10) - view::all( l );
==> Range<int> { 2,3,4,7,8,9 }
顺便说一句。有没有关于 range-v3 的好文章?有什么能让我变得更聪明的吗?
谢谢。
您正在寻找 set_difference
算法,或其惰性 view
版本:
#include <range/v3/view/iota.hpp>
#include <range/v3/view/set_algorithm.hpp>
#include <iostream>
#include <vector>
int main() {
std::vector<int> l{ 1,5,6 };
auto diff = ranges::view::set_difference(ranges::view::ints(1,10), l);
std::cout << diff << '\n'; // [2,3,4,7,8,9]
}
我试图找出两个范围之间的差异,但运气不佳。 像
vector<int> l{ 1,5,6 };
auto diff = views::ints(1,10) - view::all( l );
==> Range<int> { 2,3,4,7,8,9 }
顺便说一句。有没有关于 range-v3 的好文章?有什么能让我变得更聪明的吗?
谢谢。
您正在寻找 set_difference
算法,或其惰性 view
版本:
#include <range/v3/view/iota.hpp>
#include <range/v3/view/set_algorithm.hpp>
#include <iostream>
#include <vector>
int main() {
std::vector<int> l{ 1,5,6 };
auto diff = ranges::view::set_difference(ranges::view::ints(1,10), l);
std::cout << diff << '\n'; // [2,3,4,7,8,9]
}