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

NAME
     std::basic_stringbuf - std::basic_stringbuf

Synopsis
	Defined in header <sstream>
	template<

	    class CharT,
	    class Traits = std::char_traits<CharT>,
	    class Allocator = std::allocator<CharT>
	> class basic_stringbuf

	    : public std::basic_streambuf<CharT, Traits>

	std::basic_stringbuf  is a std::basic_streambuf whose associated charac-
     ter sequence
	is a memory-resident sequence of arbitrary characters, which can be ini-
     tialized from
	or made available as an instance of std::basic_string.

	Typical implementations of std::basic_stringbuf hold an object of type
	std::basic_string or equivalent resizable sequence container directly as
     a data
	member and use it as both the controlled character sequence  (the  array
     where the six
	pointers  of std::basic_streambuf are pointing to) and as the associated
     character
	sequence (the source of characters for all input operations and the tar-
     get for the
	output).

	In addition, a typical implementation holds a data member of type
	std::ios_base::openmode to indicate  the  I/O  mode  of  the  associated
     stream
	(input-only, output-only, input/output, at-end, etc).

	If over-allocation strategy is used by overflow(), an additional
	high-watermark	pointer  may  be  stored  to  track the last initialized
     (since C++11)
	character.

	Several typedefs for common character types are provided:

	Defined in header <sstream>
	Type		Definition
	std::stringbuf	std::basic_stringbuf<char>
	std::wstringbuf std::basic_stringbuf<wchar_t>

Member types
	Member type    Definition
	char_type      CharT
	traits_type    Traits; the program is ill-formed if Traits::char_type is
     not
		       CharT.
	int_type       Traits::int_type
	pos_type       Traits::pos_type
	off_type       Traits::off_type
	allocator_type Allocator

	Exposition-only members

		      the std::basic_string<CharT, Traits,  Allocator>	used  as
     the underlying
	buf	      buffer
		      (exposition-only member object*)
	mode	      the std::ios_base::openmode of the associated stream
		      (exposition-only member object*)
	init_buf_ptrs initializes the input and output sequences
		      (exposition-only member function*)

Public member functions
	constructor			constructs a basic_stringbuf object
					(public member function)
	operator=			assigns a basic_stringbuf object
	(C++11) 			(public member function)
	swap				swaps two basic_stringbuf objects
	(C++11) 			(public member function)
	destructor			 destructs  a basic_stringbuf object and
     the string it
	[virtual] (implicitly declared) holds
					(virtual public member function)
					replaces or obtains a copy of the  asso-
     ciated
	str				character string
					(public member function)
	get_allocator			 obtains a copy of the allocator associ-
     ated with the
	(C++20) 			internal sequence container
					(public member function)
	view				obtains a view over the underlying char-
     acter
	(C++20) 			sequence
					(public member function)

Protected member functions
	underflow returns the next character available in the input sequence
	[virtual] (virtual protected member function)
	pbackfail puts a character back into the input sequence
	[virtual] (virtual protected member function)
	overflow  appends a character to the output sequence
	[virtual] (virtual protected member function)
	setbuf	  attempts to replace the controlled character sequence with  an
     array
	[virtual] (virtual protected member function)
	seekoff   repositions the next pointer in the input sequence, output se-
     quence, or
	[virtual] both, using relative addressing
		  (virtual protected member function)
	seekpos   repositions the next pointer in the input sequence, output se-
     quence, or
	[virtual] both using absolute addressing
		  (virtual protected member function)

Non-member functions
	std::swap(std::basic_stringbuf) specializes the std::swap algorithm
	(C++11) 			(function template)

     Inherited from std::basic_streambuf

Member types
	Member type Definition
	char_type   CharT
	traits_type  Traits;  the  program is ill-formed if Traits::char_type is
     not
		    CharT.
	int_type    Traits::int_type
	pos_type    Traits::pos_type
	off_type    Traits::off_type

Member functions
	destructor	   destructs the basic_streambuf object
	[virtual]	   (virtual public member function of
			   std::basic_streambuf<CharT,Traits>)

Locales
			   invokes imbue()
	pubimbue	    (public  member   function	 of   std::basic_stream-
     buf<CharT,Traits>)

			   obtains a copy of the associated locale
	getloc		     (public   member	function  of  std::basic_stream-
     buf<CharT,Traits>)

Positioning
			   invokes setbuf()
	pubsetbuf	    (public  member   function	 of   std::basic_stream-
     buf<CharT,Traits>)

			   invokes seekoff()
	pubseekoff	     (public   member	function  of  std::basic_stream-
     buf<CharT,Traits>)

			   invokes seekpos()
	pubseekpos	    (public  member   function	 of   std::basic_stream-
     buf<CharT,Traits>)

			   invokes sync()
	pubsync 	     (public   member	function  of  std::basic_stream-
     buf<CharT,Traits>)

Get area
			   obtains the number of characters  immediately  avail-
     able in the get
	in_avail	   area
			   (public   member   function	 of   std::basic_stream-
     buf<CharT,Traits>)

			   advances the input sequence, then reads one character
     without
	snextc		   advancing again
			   (public   member   function	 of   std::basic_stream-
     buf<CharT,Traits>)

	sbumpc		    reads  one character from the input sequence and ad-
     vances the
	stossc		   sequence
	(removed  in  C++17)  (public  member  function  of   std::basic_stream-
     buf<CharT,Traits>)

			   reads  one  character from the input sequence without
     advancing the
	sgetc		   sequence
			   (public   member   function	 of   std::basic_stream-
     buf<CharT,Traits>)

			   invokes xsgetn()
	sgetn		     (public   member	function  of  std::basic_stream-
     buf<CharT,Traits>)

Put area
			   writes one character to the put area and advances the
     next
	sputc		   pointer
			   (public   member   function	 of   std::basic_stream-
     buf<CharT,Traits>)

			   invokes xsputn()
	sputn		     (public   member	function  of  std::basic_stream-
     buf<CharT,Traits>)

Putback
			   puts one character back in the input sequence
	sputbackc	    (public  member   function	 of   std::basic_stream-
     buf<CharT,Traits>)

			   moves  the next pointer in the input sequence back by
     one
	sungetc 	    (public  member   function	 of   std::basic_stream-
     buf<CharT,Traits>)

Protected member functions
	constructor   constructs a basic_streambuf object
		      (protected member function)
	operator=     replaces a basic_streambuf object
	(C++11)       (protected member function)
	swap	      swaps two basic_streambuf objects
	(C++11)       (protected member function)

Locales
	imbue	      changes the associated locale
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)

Positioning
	setbuf	      replaces the buffer with user-defined array, if permitted
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)
		      repositions the next pointer in the input sequence, output
     sequence,
	seekoff       or both, using relative addressing
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)
		      repositions the next pointer in the input sequence, output
     sequence,
	seekpos       or both using absolute addressing
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)
	sync	      synchronizes the buffers with the associated character se-
     quence
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)

Get area
		      obtains  the  number  of characters available for input in
     the associated
	showmanyc     input sequence, if known
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)
	underflow     reads characters from the associated input sequence to the
     get area
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)
		      reads characters from the associated input sequence to the
     get area
	uflow	      and advances the next pointer
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)
	xsgetn	      reads multiple characters from the input sequence
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)
	eback	      returns a pointer to the beginning, current character  and
     the end of
	gptr	      the get area
	egptr	      (protected member function)
	gbump	      advances the next pointer in the input sequence
		      (protected member function)
		      repositions  the	beginning, next, and end pointers of the
     input
	setg	      sequence
		      (protected member function)

Put area
	xsputn	      writes multiple characters to the output sequence
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)
	overflow      writes characters to the associated output  sequence  from
     the put area
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)
	pbase	       returns a pointer to the beginning, current character and
     the end of
	pptr	      the put area
	epptr	      (protected member function)
	pbump	      advances the next pointer of the output sequence
		      (protected member function)
		      repositions the beginning, next, and end pointers  of  the
     output
	setp	      sequence
		      (protected member function)

Putback
		      puts  a  character  back into the input sequence, possibly
     modifying the
	pbackfail     input sequence
	[virtual]     (virtual protected member function of
		      std::basic_streambuf<CharT,Traits>)

http://cppreference.com 	   2024.06.10		 std::basic_stringbuf(3)

home | help