C ++范围迭代器算法来收集结果

时间:2014-02-05 18:04:44

标签: c++ boost iterator iterator-range

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

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));

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

有没有人知道一个行为像这样的函数?

0 个答案:

没有答案