I accidentally referred to the additional tests as using lvalues as inputs, when they’re actually using rvalues. This commit corrects the relevant comments.
If the compiler supports forwarding references, we now test if lvalues can be used as input strings for split(), find_all(), and ifind_all().
Note that MSVC (without its recent /permissive- flag) may pass these tests without the forwarding references changes that I made, due to its non-standard binding of lvalues to rvalues.
On compilers that support C++11, this allows both lvalues and rvalues to be used as inputs to the split(), find_all(), and ifind_all() functions.
For example, given a function get_string() that returns a std::string, this allows you to write:
boost::split(result, get_string(), boost::is_any_of(" "))