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_istringstream::basic_istringstream	     -	      std::ba-
       sic_istringstream::basic_istringstream

Synopsis
	  explicit   basic_istringstream(   std::ios_base::openmode   mode   =
       (until C++11)
					    std::ios_base::in );
	  explicit   basic_istringstream(   std::ios_base::openmode   mode  );
       (since C++11)
	  basic_istringstream()
       (2)  (since C++11)
	      :	basic_istringstream(std::ios_base::in) {}
	  explicit basic_istringstream

	      (	 const	std::basic_string<CharT,  Traits,   Allocator>&	  str,
       (3)
		std::ios_base::openmode	mode =

		    std::ios_base::in );
	  explicit basic_istringstream

	      (	   std::basic_string<CharT,    Traits,	  Allocator>&&	  str,
       (4)  (since C++20)
		std::ios_base::openmode	mode =

		    std::ios_base::in );
	  basic_istringstream(	   std::ios_base::openmode     mode,	 const
       (5)  (since C++20)
	  Allocator& a );
	  template< class SAlloc >

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

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

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

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

	  explicit basic_istringstream
	      (	  const	  std::basic_string<CharT,   Traits,   SAlloc>&	  str,
       (8)  (since C++20)
		std::ios_base::openmode	mode =

		    std::ios_base::in );
	  template< class StringViewLike >

	  explicit basic_istringstream
	      (		    const	       StringViewLike&		    t,
       (9)  (since C++26)
		std::ios_base::openmode	mode =

		    std::ios_base::in );
	  template< class StringViewLike >

	  basic_istringstream(	       const	     StringViewLike&	    t,
       (10) (since C++26)

			       std::ios_base::openmode mode, const
	  Allocator& a );
	  template< class StringViewLike >
	  basic_istringstream(	   const     StringViewLike&	 t,	 const
       (11) (since C++26)
	  Allocator& a );
	  basic_istringstream(	     basic_istringstream&&	 other	    );
       (12) (since C++11)

	  Constructs new string	stream.

	  Given

	    * base_type	as std::basic_istream<CharT, Traits>, and
	    * buf_type as std::basic_stringbuf<CharT, Traits, Allocator>,

	  the std::basic_istream base and the exposition-only data  member  sb
       are initialized
	  as follows.

	   Over		  std::basic_istream base			    sb
	   load
	  (1)						      buf_type(mode  |
       std::ios_base::in)
	  (2)
       buf_type(std::ios_base::in)
	  (3)						    buf_type(str, mode
       |
							    std::ios_base::in)
	  (4)
       buf_type(std::move(str),	mode |
							    std::ios_base::in)
	  (5)	  base_type(std::addressof(sb))^[1]	      buf_type(mode  |
       std::ios_base::in,
							    a)
	  (6)						    buf_type(str, mode
       |
							    std::ios_base::in,
       a)
	  (7)							 buf_type(str,
       std::ios_base::in,
							    a)
	  (8)						    buf_type(str, mode
       |
							    std::ios_base::in)
	  (9)						      {t,    mode    |
       std::ios_base::in,
		 std::addressof(sb)			    Allocator()}
	  (10)						       {t,    mode   |
       std::ios_base::in, a}
	  (11)								   {t,
       std::ios_base::in, a}
	  (12)	  move	constructed from other's	      move constructed
       from other.sb
		 std::basic_istream base

	   1.  The std::basic_iostream base was	intialized with	base_type(&sb)
       (for overloads
	      (1,3)) until C++11.
	  8)  This  overload  participates  in	overload  resolution  only  if
       std::is_same_v<SAlloc,
	  Allocator> is	false.
	  9-11)	These overloads	participate in overload	resolution only	if
	  std::is_convertible_v<const	      StringViewLike&,	      std::ba-
       sic_string_view<CharT, Traits>>
	  is true.

Parameters
	  str	- string to use	as initial contents of the string stream
	  t	- an object (convertible to std::basic_string_view) 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 a BitmaskType, the follow-
       ing constants are
		  defined:

		  Constant	    Explanation
		  app		    seek to the	 end  of  stream  before  each
       write
	  mode	- 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  af-
       ter open
		  noreplace (C++23) open in exclusive mode
	  other	- another string stream	to use as source

Notes
	  Construction of one-off basic_istringstream 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.

		  Feature-test macro	      Value    Std		  Fea-
       ture
	  __cpp_lib_sstream_from_string_view   202306L	 (C++26)   Interfacing
       std::stringstreams
							     with
       std::string_view, (9-11)

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 be-
       havior
	  P0935R0 C++11	     the default constructor  was  explicit  made  im-
       plicit

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		  2024.06.10	 std::basic_...stringstream(3)

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

home | help