Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::ws(3)		      C++ Standard Libary		    std::ws(3)

NAME
       std::ws - std::ws

Synopsis
	  Defined in header <istream>
	  template< class CharT, class Traits >
	  std::basic_istream<CharT,Traits>&    ws(   std::basic_istream<CharT,
       Traits>&	is );

	  Discards leading whitespace from an input stream.

	  Behaves as an	UnformattedInputFunction, except that  is.gcount()  is
       not modified.
	  After	 constructing and checking the sentry object, extracts charac-
       ters from the
	  stream and discards them until any one of the	 following  conditions
       occurs:

	    *  end  of	file  condition	occurs in the input sequence (in which
       case the	function
	      calls setstate(eofbit) but does not set failbit; this  does  not
       apply if	the
	      eofbit  is  already  set on is prior to the call to ws, in which
       case the
	      construction of the sentry object	would set failbit).

	    * the next available character c in	 the  input  sequence  is  not
       whitespace as
	      determined  by  std::isspace(c, is.getloc()). The	non-whitespace
       character is not
	      extracted.

	  This is an input-only	I/O manipulator, it may	be called with an  ex-
       pression	such as
	  in >>	std::ws	for any	in of type std::basic_istream.

Parameters
	  is - reference to input stream

Return value
	  is  (reference  to the stream	after extraction of consecutive	white-
       space)

Notes
	  If eofbit is set on the stream prior to the call,  the  construction
       of the sentry
	  object will set failbit.

Example
       // Run this code

	#include <iostream>
	#include <iomanip>
	#include <istream>
	#include <sstream>
	#include <string>

	int main()
	{
	    for	(const char* str: {"	 #1 test", "\t #2 test", "#3 test"}) {
		std::string line;
		std::getline(std::istringstream{str}, line);
		std::cout << "getline returns: \t" << quoted(line) << '\n';
		std::istringstream iss{str};
		std::getline(iss >> std::ws, line);
		std::cout  <<  "ws  +  getline returns:	\t" << quoted(line) <<
       '\n';
	    }
	}

Output:
	getline	returns:	"     #1 test"
	ws + getline returns:	"#1 test"
	getline	returns:	"	 #2 test"
	ws + getline returns:	"#2 test"
	getline	returns:	"#3 test"
	ws + getline returns:	"#3 test"

See also
	  ignore extracts and discards characters until	the given character is
       found
		 (public member	function of std::basic_istream<CharT,Traits>)

http://cppreference.com		  2022.07.31			    std::ws(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ws&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help