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

FreeBSD Manual Pages

  
 
  

home | help
std::basic_...stringstream(3) C++ Standard Libarystd::basic_...stringstream(3)

NAME
       std::basic_stringstream::basic_stringstream	    -	      std::ba-
       sic_stringstream::basic_stringstream

Synopsis
	  basic_stringstream()						   (1)
       (since
	  : basic_stringstream(std::ios_base::in  |  std::ios_base::out)  {  }
       C++11)
	  explicit    basic_stringstream(   std::ios_base::openmode   mode   =
       (until
	  std::ios_base::in	     |		std::ios_base::out	    );
       C++11)
	  explicit   basic_stringstream(   std::ios_base::openmode   mode   );
       (since
										       C++11)
	  explicit basic_stringstream( const
	  std::basic_string<CharT,Traits,Allocator>&			  str,
       (3)
	  std::ios_base::openmode mode = std::ios_base::in |
	  std::ios_base::out );
	  basic_stringstream(	     basic_stringstream&&	other	    );
       (4)     (since
										       C++11)
	  basic_stringstream(	  std::ios_base::openmode     mode,	 const
       (5)     (since
	  Allocator&				a			    );
       C++20)
	  explicit basic_stringstream(
	  std::basic_string<CharT,Traits,Allocator>&&			  str,
       (6)     (since
	  std::ios_base::openmode      mode	 =     std::ios_base::in     |
       C++20)
	  std::ios_base::out );
	  template<class SAlloc>

	  basic_stringstream( const					   (2)
	  std::basic_string<CharT,Traits,SAlloc>&			  str,
       (7)     (since
	  const			Allocator&		   a		     )
       C++20)

	  : basic_stringstream(str, std::ios_base::in |
	  std::ios_base::out, a) { }
	  template<class SAlloc>

	  basic_stringstream(						 const
       (8)     (since
	  std::basic_string<CharT,Traits,SAlloc>&			  str,
       C++20)

	  std::ios_base::openmode mode,	const Allocator& a );
	  template<class SAlloc>

	  explicit		    basic_stringstream(			 const
       (since
	  std::basic_string<CharT,Traits,SAlloc>&			  str,
       (9)     C++20)

	  std::ios_base::openmode mode = std::ios_base::in |
	  std::ios_base::out );

	  Constructs new string	stream.

	  1) Default constructor. Constructs new underlying string device with
       the default
	  open mode
	  2) Constructs	new  underlying	 string	 device.  The  underlying  ba-
       sic_stringbuf object is
	  constructed as basic_stringbuf<Char,Traits,Allocator>(mode).
	  3)  Uses  a copy of str as initial contents of the underlying	string
       device. The
	  underlying basic_stringbuf object is constructed as
	  basic_stringbuf<Char,Traits,Allocator>(str, mode).
	  4) Move constructor. Constructs the string stream with the state  of
       other using move
	  semantics.
	  5)  Constructs  new  underlying  string  device.  The	underlying ba-
       sic_stringbuf object is
	  constructed as basic_stringbuf<Char,Traits,Allocator>(mode, a).
	  6) Move-construct the	contents of the	underlying string device  with
       str. The
	  underlying basic_stringbuf object is constructed as
	  basic_stringbuf<Char,Traits,Allocator>(std::move(str), mode).
	  7)  Constructs  new  underlying  string  device.  The	underlying ba-
       sic_stringbuf object is
	  constructed	   as	   basic_stringbuf<Char,Traits,Allocator>(str,
       std::ios_base::in |
	  std::ios_base::out, a).
	  8)  Constructs  new  underlying  string  device.  The	underlying ba-
       sic_stringbuf object is
	  constructed as basic_stringbuf<Char,Traits,Allocator>(str, mode, a).
	  9) Constructs	new  underlying	 string	 device.  The  underlying  ba-
       sic_stringbuf object is
	  constructed  as  basic_stringbuf<Char,Traits,Allocator>(str,	mode).
       This overload
	  participates in overload resolution only if SAlloc and Allocator are
       not the same
	  type.

Parameters
	  str	- string to use	as initial contents of the string stream
	  a	- allocator used for allocating	the  contents  of  the	string
       stream
		  specifies  stream open mode. It is bitmask type, the follow-
       ing constants are
		  defined:

		  Constant Explanation
	  mode	- app	   seek	to the end of stream before each write
		  binary   open	in binary mode
		  in	   open	for reading
		  out	   open	for writing
		  trunc	   discard the contents	of the stream when opening
		  ate	   seek	to the end of stream immediately after open
	  other	- another string stream	to use as source

Notes
	  Construction of one-off basic_stringstream objects in	a tight	 loop,
       such as when
	  used	for  string  conversion, may be	significantly more costly than
       calling str to
	  reuse	the same object.

Example
       // Run this code

	#include <iostream>
	#include <sstream>
	int main()
	{
	    // default constructor (input/output stream)
	    std::stringstream buf1;
	    buf1 << 7;
	    int	n = 0;
	    buf1 >> n;
	    std::cout << "buf1 = " << buf1.str() << " n	= " << n << '\n';

	    // input stream
	    std::istringstream inbuf("-10");
	    inbuf >> n;
	    std::cout << "n = "	<< n <<	'\n';

	    // output stream in	append mode (C++11)
	    std::ostringstream buf2("test", std::ios_base::ate);
	    buf2 << '1';
	    std::cout << buf2.str() << '\n';
	}

Output:
	buf1 = 7 n = 7
	n = -10
	test1

	 Defect	reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	    DR	  Applied to	  Behavior as published	      Correct behavior
	  P0935R0 C++11	     default constructor was explicit made implicit

See also
	  str		gets or	sets the contents of underlying	string	device
       object
			(public	member function)
			constructs a basic_stringbuf object
	  constructor	(public	member function	of
			std::basic_stringbuf<CharT,Traits,Allocator>)

http://cppreference.com		  2022.07.31	 std::basic_...stringstream(3)

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

home | help