我了解在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 版本,该版本会在进行时应用转换本身。