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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::basic_osyncstream -	std::basic_osyncstream

Synopsis
	  Defined in header <syncstream>
	  template<

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

	  > class basic_osyncstream: public std::basic_ostream<CharT, Traits>

	  The class template std::basic_osyncstream is a  convenience  wrapper
       for
	  std::basic_syncbuf.  It  provides a mechanism	to synchronize threads
       writing to the
	  same stream.

	  It can be used with a	named variable:

	{
	    std::osyncstream synced_out(std::cout);  //	 synchronized  wrapper
       for std::cout
	    synced_out << "Hello, ";
	    synced_out << "World!";
	    synced_out << std::endl; //	flush is noted,	but not	yet performed
	    synced_out << "and more!\n";
	} // characters	are transferred	and std::cout is flushed

	  as well as with a temporary:

	std::osyncstream(std::cout) << "Hello, " << "World!" <<	'\n';

	  It  provides	the  guarantee	that all output	made to	the same final
       destination buffer
	  (std::cout in	the examples above) will be free  of  data  races  and
       will not	be
	  interleaved  or  garbled  in	any way, as long as every write	to the
       that final
	  destination buffer is	made through (possibly different) instances of
	  std::basic_osyncstream.

	  Typical implementation of std::basic_osyncstream holds only one mem-
       ber: the	wrapped
	  std::basic_syncbuf.

	  std-basic osyncstream-inheritance.svg

					  Inheritance diagram

	  Two specializations for common character types are also defined:

	  Defined in header <syncstream>
	  Type	       Definition
	  osyncstream  basic_osyncstream<char>
	  wosyncstream basic_osyncstream<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>
	  syncbuf_type	 std::basic_syncbuf<CharT, Traits, Allocator>

Member functions
	  constructor	constructs a basic_osyncstream
			(public	member function)
	  operator=	assigns	a basic_osyncstream
			(public	member function)
	  destructor	 destroys the basic_osyncstream	and emits its internal
       buffer
			(public	member function)
	  rdbuf		obtains	a pointer to the underlying basic_syncbuf
			(public	member function)
	  get_wrapped	obtains	a pointer  to  the  final  destination	stream
       buffer
			(public	member function)
			calls emit on the underlying basic_syncbuf to transmit
       its internal
	  emit		data to	the final destination
			(public	member function)

       Inherited from std::basic_ostream

Member functions
Formatted output
	  operator<< inserts formatted data
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)

Unformatted output
	  put	     inserts a character
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)
	  write	     inserts blocks of characters
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)

Positioning
	  tellp	     returns the output	position indicator
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)
	  seekp	     sets the output position indicator
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)

Miscellaneous
	  flush	     synchronizes with the underlying storage device
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)

Member classes
	  sentry implements basic logic	for preparation	of the stream for out-
       put operations
		 (public member	class of std::basic_ostream<CharT,Traits>)

       Inherited from std::basic_ios

Member types
	  Member type Definition
	  char_type   CharT
	  traits_type Traits
	  int_type    Traits::int_type
	  pos_type    Traits::pos_type
	  off_type    Traits::off_type

Member functions
State functions
	  good		  checks  if no	error has occurred i.e.	I/O operations
       are available
			 (public     member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  eof		 checks	if end-of-file has been	reached
			 (public      member	  function     of     std::ba-
       sic_ios<CharT,Traits>)
	  fail		 checks	if an error has	occurred
			 (public     member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  bad		 checks	if a non-recoverable error has occurred
			 (public      member	  function     of     std::ba-
       sic_ios<CharT,Traits>)
	  operator!	 checks	if an error has	occurred (synonym of fail())
			 (public     member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  operator void*
	  operator bool	 checks	if no error has	occurred (synonym of !fail())
	  (until    C++11)     (public	  member    function	of    std::ba-
       sic_ios<CharT,Traits>)
	  (since C++11)
	  rdstate	 returns state flags
			 (public     member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  setstate	 sets state flags
			 (public      member	  function     of     std::ba-
       sic_ios<CharT,Traits>)
	  clear		 modifies state	flags
			 (public     member	function      of      std::ba-
       sic_ios<CharT,Traits>)

Formatting
	  copyfmt	 copies	formatting information
			 (public      member	  function     of     std::ba-
       sic_ios<CharT,Traits>)
	  fill		 manages the fill character
			 (public     member	function      of      std::ba-
       sic_ios<CharT,Traits>)

Miscellaneous
	  exceptions	 manages exception mask
			 (public      member	  function     of     std::ba-
       sic_ios<CharT,Traits>)
	  imbue		 sets the locale
			 (public     member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  rdbuf		 manages associated stream buffer
			 (public      member	  function     of     std::ba-
       sic_ios<CharT,Traits>)
	  tie		 manages tied stream
			 (public     member	function      of      std::ba-
       sic_ios<CharT,Traits>)
	  narrow	 narrows characters
			 (public      member	  function     of     std::ba-
       sic_ios<CharT,Traits>)
	  widen		 widens	characters
			 (public     member	function      of      std::ba-
       sic_ios<CharT,Traits>)

       Inherited from std::ios_base

Member functions
Formatting
	  flags		    manages format flags
			    (public member function of std::ios_base)
	  setf		    sets specific format flag
			    (public member function of std::ios_base)
	  unsetf	    clears specific format flag
			    (public member function of std::ios_base)
	  precision	    manages decimal precision of floating point	opera-
       tions
			    (public member function of std::ios_base)
	  width		    manages field width
			    (public member function of std::ios_base)

Locales
	  imbue		    sets locale
			    (public member function of std::ios_base)
	  getloc	    returns current locale
			    (public member function of std::ios_base)

Internal extensible array
	  xalloc	    returns a program-wide unique integer that is safe
       to use as index
	  [static]	    to pword() and iword()
			    (public static member function of std::ios_base)
			    resizes  the  private storage if necessary and ac-
       cess to the long
	  iword		    element at the given index
			    (public member function of std::ios_base)
			    resizes the	private	storage	if necessary  and  ac-
       cess to the void*
	  pword		    element at the given index
			    (public member function of std::ios_base)

Miscellaneous
	  register_callback registers event callback function
			    (public member function of std::ios_base)
	  sync_with_stdio    sets whether C++ and C I/O	libraries are interop-
       erable
	  [static]	    (public static member function of std::ios_base)

Member classes
	  failure	    stream exception
			    (public member class of std::ios_base)
	  Init		    initializes	standard stream	objects
			    (public member class of std::ios_base)

Member types and constants
	  Type		 Explanation
			 stream	open mode type

			 The following constants are also defined:

			 Constant Explanation
			 app	  seek to the end of stream before each	write
	  openmode	 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 after
       open

			 (typedef)
			 formatting flags type

			 The following constants are also defined:

			 Constant    Explanation
			 dec	     use decimal base  for  integer  I/O:  see
       std::dec
			 oct	      use  octal  base	for  integer  I/O: see
       std::oct
			 hex	     use hexadecimal base for integer I/O: see
       std::hex
			 basefield   dec|oct|hex. Useful  for  masking	opera-
       tions
			 left	      left adjustment (adds fill characters to
       the right): see
				     std::left
			 right	     right adjustment (adds fill characters to
       the left): see
				     std::right
			 internal    internal adjustment (adds fill characters
       to the internal
				     designated	point):	see std::internal
			 adjustfield left|right|internal. Useful  for  masking
       operations
				     generate  floating	point types using sci-
       entific notation,
			 scientific  or	hex notation if	combined  with	fixed:
       see
				     std::scientific
	  fmtflags	 fixed	     generate floating point types using fixed
       notation, or
				     hex notation if combined with scientific:
       see std::fixed
			 floatfield   scientific|fixed.	Useful for masking op-
       erations
			 boolalpha   insert and	extract	bool type in  alphanu-
       meric format: see
				     std::boolalpha
				     generate  a prefix	indicating the numeric
       base for	integer
			 showbase    output, require the currency indicator in
       monetary	I/O:
				     see std::showbase
			 showpoint   generate a	decimal-point character	uncon-
       ditionally for
				     floating-point   number	output:	   see
       std::showpoint
			 showpos      generate	a + character for non-negative
       numeric output:
				     see std::showpos
			 skipws	     skip leading  whitespace  before  certain
       input operations:
				     see std::skipws
			 unitbuf     flush the output after each output	opera-
       tion: see
				     std::unitbuf
				     replace  certain  lowercase  letters with
       their uppercase
			 uppercase   equivalents in certain output operations:
       see
				     std::uppercase

			 (typedef)
			 state of the stream type

			 The following constants are also defined:

			 Constant Explanation
	  iostate	 goodbit  no error
			 badbit	  irrecoverable	stream error
			 failbit  input/output operation failed	(formatting or
       extraction
				  error)
			 eofbit	  associated input sequence has	 reached  end-
       of-file

			 (typedef)
			 seeking direction type

			 The following constants are also defined:

	  seekdir	 Constant Explanation
			 beg	  the beginning	of a stream
			 end	  the ending of	a stream
			 cur	   the current position	of stream position in-
       dicator

			 (typedef)
	  event		 specifies event type
			 (enum)
	  event_callback callback function type
			 (typedef)

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

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

home | help