3

我编写了一个函数来收集提升迭代器范围的结果。这里是:

template<typename Output, typename SinglePassRange>
Output collect(const SinglePassRange & rng)
{
    Output r;
    boost::range::copy(rng, std::inserter(r, boost::begin(r)));
    return r;
}

比较方便:

return collect<std::vector<int>>(ints | filtered(even) | transformed(add1));

这似乎真的应该已经存在,但我找不到它。(更不用说以某种方式“推断”返回类型会很好,这更可能是标准实现中的一个特性。)

有谁知道这样的功能?

4

0 回答 0