Enr*_*lis 11 c++ functional-programming range-v3 c++17 std-ranges
Range-v3 具有ranges::views::drop和 来ranges::views::drop_last从视图的前面或后面删除元素。
它是否提供类似的功能来将元素添加到视图中?
目前,我发现的最短方法是使用 a或 a到concat范围/容器:iotasingle
#include <assert.h>
#include <range/v3/view/iota.hpp>
#include <range/v3/view/concat.hpp>
#include <range/v3/to_container.hpp>
using namespace ranges;
using namespace views;
int main() {
std::vector<int> v{1,2,3};
auto wi = concat(iota(0,1),v);
assert(((wi | to_vector) == std::vector<int>{0,1,2,3}));
auto ws = concat(single(0), v);
assert(((ws | to_vector) == std::vector<int>{0,1,2,3}));
}
Run Code Online (Sandbox Code Playgroud)