30 Input/output library [input.output]

30.7 Formatting and manipulators [iostream.format]

30.7.4 Input streams [input.streams]

30.7.4.4 Standard basic_­istream manipulators [istream.manip]

template <class charT, class traits> basic_istream<charT, traits>& ws(basic_istream<charT, traits>& is);
Effects: Behaves as an unformatted input function ([istream.unformatted]), except that it does not count the number of characters extracted and does not affect the value returned by subsequent calls to is.
gcount().
After constructing a sentry object extracts characters as long as the next available character c is whitespace or until there are no more characters in the sequence.
Whitespace characters are distinguished with the same criterion as used by sentry​::​sentry ([istream::sentry]).
If ws stops extracting characters because there are no more available it sets eofbit, but not failbit.
Returns: is.