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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::basic_syncbuf - std::basic_syncbuf

Synopsis
	  Defined in header <syncstream>
	  template<

	  class	CharT,
	  class		  Traits	   =	      std::char_traits<CharT>,
       (since C++20)
	  class	Allocator = std::allocator<CharT>

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

	  std::basic_syncbuf is	a wrapper for a	std::basic_streambuf (provided
       at construction
	  time as a pointer).  It  accumulates	output	in  its	 own  internal
       buffer, and atomically
	  transmits  its  entire contents to the wrapped buffer	on destruction
       and when
	  explicitly requested,	so that	they appear as a  contiguous  sequence
       of characters. It
	  guarantees that there	are no data races and no interleaving of char-
       acters sent to
	  the  wrapped	buffer	as  long as all	other outputs made to the same
       buffer are made
	  through, possibly different, instances of std::basic_syncbuf.

	  Typical implementation of std::basic_syncbuf holds a pointer to  the
       wrapped
	  std::basic_streambuf,	 a  boolean flag indicating whether the	buffer
       will transmit its
	  contents to the wrapped buffer on sync (flush), a boolean flag indi-
       cating a	pending
	  flush	when the policy	is to not emit on  sync,  an  internal	buffer
       that uses Allocator
	  (such	 as std::string), and a	pointer	to a mutex used	to synchronize
       emit between
	  multiple threads accessing the same wrapped stream buffer (these mu-
       texes may be in a
	  hash map with	pointers to basic_streambuf objects used as keys).

	  Like other streambuf classes,	std::basic_syncbuf  is	normally  only
       accessed	through
	  the corresponding stream, std::osyncstream, not directly.

	  Two specializations for common character types are also defined:

	  Defined in header <syncstream>
	  Type	   Definition
	  syncbuf  basic_syncbuf<char>
	  wsyncbuf basic_syncbuf<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
	  streambuf_type std::basic_streambuf<CharT, Traits>

Member functions
Public member functions
	  constructor	   constructs a	basic_syncbuf object
			   (public member function)
	  operator=	   assigns a basic_syncbuf object
			   (public member function)
	  swap		   swaps two basic_syncbuf objects
			   (public member function)
	  destructor	   destroys the	basic_syncbuf and emits	 its  internal
       buffer
			   (public member function)
			   atomically  transmits the entire internal buffer to
       the wrapped
	  emit		   streambuf
			   (public member function)
	  get_wrapped	   retrieves the wrapped streambuf pointer
			   (public member function)
	  get_allocator	   retrieves the allocator used	by this	basic_syncbuf
			   (public member function)
	  set_emit_on_sync changes the current emit-on-sync policy
			   (public member function)

Protected member functions
			   either emits, or records a pending flush, depending
       on the current
	  sync		   emit-on-sync	policy
			   (public member function)

Non-member functions
	  std::swap(std::basic_syncbuf)	specializes the	std::swap algorithm
	  (C++20)			(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
	  pubimbue	     invokes imbue()
			     (public  member  function	of  std::basic_stream-
       buf<CharT,Traits>)
	  getloc	     obtains a copy of the associated locale
			     (public  member  function	of  std::basic_stream-
       buf<CharT,Traits>)

Positioning
	  pubsetbuf	     invokes setbuf()
			     (public  member  function	of  std::basic_stream-
       buf<CharT,Traits>)
	  pubseekoff	     invokes seekoff()
			     (public  member  function	of  std::basic_stream-
       buf<CharT,Traits>)
	  pubseekpos	     invokes seekpos()
			     (public  member  function	of  std::basic_stream-
       buf<CharT,Traits>)
	  pubsync	     invokes sync()
			     (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>)
	  sgetn		     invokes xsgetn()
			     (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>)
	  sputn		     invokes xsputn()
			     (public  member  function	of  std::basic_stream-
       buf<CharT,Traits>)

Putback
	  sputbackc	     puts one character	back in	the input sequence
			     (public  member  function	of  std::basic_stream-
       buf<CharT,Traits>)
	  sungetc	     moves the next pointer in the input sequence back
       by one
			     (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>)

http://cppreference.com		  2022.07.31		 std::basic_syncbuf(3)

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

home | help