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

NAME
     std::basic_filebuf - std::basic_filebuf

Synopsis
	Defined in header <fstream>
	template<

	    class CharT,
	    class Traits = std::char_traits<CharT>

	> class basic_filebuf : public std::basic_streambuf<CharT, Traits>

	std::basic_filebuf  is a std::basic_streambuf whose associated character
     sequence is
	a file. Both the input sequence and the output sequence  are  associated
     with the same
	file,  and  a joint file position is maintained for both operations. The
     restrictions
	on reading and writing a sequence with std::basic_filebuf are  the  same
     as
	std::FILEs.

	The functions underflow() and overflow() / sync() perform the actual I/O
     between the
	file  and  the	get and put areas of the buffer. When CharT is not char,
     most
	implementations  store	multibyte  characters  in   the   file	 and   a
     std::codecvt facet is
	used to perform wide/multibyte character conversion.

	Several typedefs for common character types are provided:

	Defined in header <streambuf>
	Type	      Definition
	std::filebuf  std::basic_filebuf<char>
	std::wfilebuf std::basic_filebuf<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 which is required to be
				  std::fpos<Traits::state_type>
	off_type		  Traits::off_type
	native_handle_type(C++26) implementation-defined type that is Trivially-
     Copyable and
				  semiregular

Member functions
Public member functions
	constructor   constructs a basic_filebuf object
		      (public member function)
	operator=     assigns a basic_filebuf object
	(C++11)       (public member function)
	swap	      swaps two basic_filebuf objects
	(C++11)       (public member function)
	native_handle returns the underlying implementation-defined handle
	(C++26)       (public member function)
	destructor    destructs a basic_filebuf object and closes the file if it
     is open
	[virtual]     (virtual public member function)
	is_open       checks if the associated file is open
		      (public member function)
	open	      opens a file and configures it as the associated character
     sequence
		      (public member function)
	close	      flushes the put area buffer and closes the associated file
		      (public member function)

Protected member functions
	showmanyc     optionally provides the number of characters available for
     input from
	[virtual]     the file
		      (virtual protected member function)
	underflow     reads from the associated file
	[virtual]     (virtual protected member function)
	uflow	      reads from the  associated  file	and  advances  the  next
     pointer in the
	[virtual]     get area
		      (virtual protected member function)
	pbackfail     backs out the input sequence to unget a character, not af-
     fecting the
	[virtual]     associated file
		      (virtual protected member function)
	overflow      writes characters to the associated file from the put area
	[virtual]     (virtual protected member function)
	setbuf	       provides  user-supplied	buffer or turns this filebuf un-
     buffered
	[virtual]     (virtual protected member function)
	seekoff       repositions the file position, using relative addressing
	[virtual]     (virtual protected member function)
	seekpos       repositions the file position, using absolute addressing
	[virtual]     (virtual protected member function)
	sync	      writes characters to the associated file from the put area
	[virtual]     (virtual protected member function)
	imbue	      changes the associated locale
	[virtual]     (virtual protected member function)

Non-member functions
	std::swap(std::basic_filebuf) 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>)

Notes
	      Feature-test macro	 Value	  Std	       Feature
	__cpp_lib_fstream_native_handle 202306L (C++26) native handles support

See also
	     object type, capable of holding all information needed to control a
     C I/O
	FILE stream
	     (typedef)

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

home | help