我需要调用boost::trim_left_if
在单一char
值:boost或STL是否有一个用于比较两个char值的谓词?
// pseudo code; not tested.
std::string to_trim{"hello"};
char left_char = 'h';
boost::algorithm::trim_left_if(to_trim, /*left_char?*/);
在上面的最后一行,我需要一种方法在char
值传递。我环顾四周,但我没有在Boost或STL中看到一个泛型谓词来简单地比较两个任意值。我可以使用lambda表达式,但是如果存在的话会更喜欢谓词。
我想在这里避免的一件事是使用boost::is_any_of()
或任何其他要求left_char
转换为字符串的谓词。
难道你不能使用lambda? '[&](char c){return c == left_char; }'。 – refi64
'is_from_range(left_char,left_char)'? –
@ T.C。范围不是半开放的? – Yakk