Range-v3具有
ranges::views::drop
和
ranges::views::drop_last
从视图的正面或背面删除元素。
它是否提供类似的功能,在视图中添加/追加元素?
目前,我找到的最短方法是
concat
带有a的范围/容器
iota
或与a
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}));
}