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

FreeBSD Manual Pages

  
 
  

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 char-
       acter sequence is
	  a file. Both the input sequence and the output sequence are  associ-
       ated 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	 Triv-
       iallyCopyable 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 char-
       acter 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
       affecting 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
       unbuffered
	  [virtual]	(virtual protected member function)
	  seekoff	repositions the	file position, using relative address-
       ing
	  [virtual]	(virtual protected member function)
	  seekpos	repositions the	file position, using absolute address-
       ing
	  [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
       available in the	get
	  in_avail	     area
			     (public  member  function	of  std::basic_stream-
       buf<CharT,Traits>)

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

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

			     reads one character from the input	sequence with-
       out 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 per-
       mitted
	  [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
       sequence
	  [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,	possi-
       bly 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 sup-
       port

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

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

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

home | help