我了解在boost::algorithm::join
矢量上的使用,std::string
但我如何将其用于std::vector<std::unique_ptr<Foo>>
?
我想我正在寻找某种可以传入 lambda 的应用函数,这样我就可以将 std::unique_ptr 转换为 std::string。
看的是源代码,join
似乎没有办法做到这一点。返回值必须是在您的情况下range_value<SequenceSequenceT>::type
映射到的类型std::unique_ptr<Foo>
。你可以std::transform
自己vector
去std::vector<std::string>
,这有点浪费。或者,您可以实现自己的 join 版本,该版本会在进行时应用转换本身。