有人知道boost::split
的快捷方式吗?那
std::vector<std::string> args;
boost::split(args, argsString, boost::is_any_of("\t "), boost::token_compress_on);
成为
auto const args = boost::split(args, argsString, boost::is_any_of("\t "), boost::token_compress_on);
or
auto const args = boost::split<std::vector>(args, argsString, boost::is_any_of("\t "), boost::token_compress_on);
与之基本相同,例如trim
-trim_copy
的一个。
答案 0 :(得分:1)
据我所知,Boost中没有捷径。
就我个人而言,我为split
写了一个简单的包装器,因为与您遇到的问题相同:
template <typename RangeT, typename PredicateT>
std::vector<std::string> split(RangeT& Input, PredicateT Pred,
boost::algorithm::token_compress_mode_type eCompress = boost::token_compress_off)
{
std::vector<std::string> toReturn;
boost::split(toReturn, Input, Pred, eCompress);
return toReturn;
}