scnlib
scnlib copied to clipboard
scan_list_ex: unable to use separator when scanning list of strings
Passing a separator to scan_list_ex when scanning a list of strings will have no effect, because the separator will be consumed by the string scanner.
In the following example:
int main() {
std::vector<std::string> vs;
const auto result = scn::scan_list_ex("0, 42, 84", vs, scn::list_separator(','));
for (const auto & s : vs)
std::cout << s << std::endl;
return 0;
}
vs will contain [ "0,", "42,", "84" ] (see how the commas have been included in each string).
On a related note, I've written a scanner specialization for ranges that parse them with the same formats as those generated by fmt/ranges.h (see the tests). Would you be interested in adding this to the library (perhaps as scn/ranges.h, to follow fmt's architecture)? If so I could look into opening a PR.