Range-v3 具有ranges::views::drop
和ranges::views::drop_last
从视图的前面或后面删除元素。
它是否提供类似的功能来将元素添加到视图中?
目前,我发现的最短方法是使用 a或 a到concat
范围/容器:iota
single
#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 = ranges::views::concat(single(0), v);
assert(((ws | to_vector) == std::vector<int>{0,1,2,3}));
}