Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::basic_osyncstream

      From cppreference.com
      <cpp‎ |io
       
       
       
       
      Defined in header<syncstream>
      template<

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

      >class basic_osyncstream:publicstd::basic_ostream<CharT, Traits>
      (since C++20)

      The class templatestd::basic_osyncstream is a convenience wrapper forstd::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 that final destination buffer is made through (possibly different) instances ofstd::basic_osyncstream.

      Typical implementation ofstd::basic_osyncstream holds only one member: the wrappedstd::basic_syncbuf.

      std-basic osyncstream-inheritance.svg

      Several typedefs for common character types are provided:

      Defined in header<syncstream>
      Type Definition
      std::osyncstreamstd::basic_osyncstream<char>
      std::wosyncstreamstd::basic_osyncstream<wchar_t>

      Contents

      [edit]Member types

      Member type Definition
      char_typeCharT[edit]
      traits_typeTraits; the program is ill-formed ifTraits::char_type is notCharT.[edit]
      int_typeTraits::int_type[edit]
      pos_typeTraits::pos_type[edit]
      off_typeTraits::off_type[edit]
      allocator_typeAllocator
      streambuf_typestd::basic_streambuf<CharT, Traits>
      syncbuf_typestd::basic_syncbuf<CharT, Traits, Allocator>

      [edit]Member functions

      constructs abasic_osyncstream object
      (public member function)[edit]
      assigns abasic_osyncstream object
      (public member function)[edit]
      destroys thebasic_osyncstream and emits its internal buffer
      (public member function)[edit]
      obtains a pointer to the underlyingbasic_syncbuf
      (public member function)[edit]
      obtains a pointer to the final destination stream buffer
      (public member function)[edit]
      callsemit() on the underlyingbasic_syncbuf to transmit its internal data to the final destination
      (public member function)[edit]

      Inherited fromstd::basic_ostream

      Member functions

      Formatted output
      inserts formatted data
      (public member function ofstd::basic_ostream<CharT,Traits>)[edit]
      Unformatted output
      inserts a character
      (public member function ofstd::basic_ostream<CharT,Traits>)[edit]
      inserts blocks of characters
      (public member function ofstd::basic_ostream<CharT,Traits>)[edit]
      Positioning
      returns the output position indicator
      (public member function ofstd::basic_ostream<CharT,Traits>)[edit]
      sets the output position indicator
      (public member function ofstd::basic_ostream<CharT,Traits>)[edit]
      Miscellaneous
      synchronizes with the underlying storage device
      (public member function ofstd::basic_ostream<CharT,Traits>)[edit]

      Member classes

      implements basic logic for preparation of the stream for output operations
      (public member class ofstd::basic_ostream<CharT,Traits>)[edit]

      Inherited fromstd::basic_ios

      Member types

      Member type Definition
      char_typeCharT
      traits_typeTraits
      int_typeTraits::int_type
      pos_typeTraits::pos_type
      off_typeTraits::off_type

      Member functions

      State functions
      checks if no error has occurred i.e. I/O operations are available
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if end-of-file has been reached
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if an error has occurred
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if a non-recoverable error has occurred
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if an error has occurred (synonym offail())
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      checks if no error has occurred (synonym of!fail())
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      returns state flags
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      sets state flags
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      modifies state flags
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      Formatting
      copies formatting information
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      manages the fill character
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      Miscellaneous
      manages exception mask
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      sets the locale
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      manages associated stream buffer
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      manages tied stream
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      narrows characters
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]
      widens characters
      (public member function ofstd::basic_ios<CharT,Traits>)[edit]

      Inherited fromstd::ios_base

      Member functions

      Formatting
      manages format flags
      (public member function ofstd::ios_base)[edit]
      sets specific format flag
      (public member function ofstd::ios_base)[edit]
      clears specific format flag
      (public member function ofstd::ios_base)[edit]
      manages decimal precision of floating point operations
      (public member function ofstd::ios_base)[edit]
      manages field width
      (public member function ofstd::ios_base)[edit]
      Locales
      sets locale
      (public member function ofstd::ios_base)[edit]
      returns current locale
      (public member function ofstd::ios_base)[edit]
      Internal extensible array
      [static]
      returns a program-wide unique integer that is safe to use as index topword() andiword()
      (public static member function ofstd::ios_base)[edit]
      resizes the private storage if necessary and access to thelong element at the given index
      (public member function ofstd::ios_base)[edit]
      resizes the private storage if necessary and access to thevoid* element at the given index
      (public member function ofstd::ios_base)[edit]
      Miscellaneous
      registers event callback function
      (public member function ofstd::ios_base)[edit]
      sets whether C++ and C I/O libraries are interoperable
      (public static member function ofstd::ios_base)[edit]
      Member classes
      stream exception
      (public member class ofstd::ios_base)[edit]
      initializes standard stream objects
      (public member class ofstd::ios_base)[edit]

      Member types and constants

      Type Explanation
      stream open mode type

      The following constants are also defined:

      Constant Explanation[edit]
      app seek to the end of stream before each write[edit]
      binary open inbinary mode[edit]
      in open for reading[edit]
      out open for writing[edit]
      trunc discard the contents of the stream when opening[edit]
      ate seek to the end of stream immediately after open[edit]
      noreplace(C++23) open in exclusive mode[edit]

      (typedef)[edit]
      formatting flags type

      The following constants are also defined:

      Constant Explanation[edit]
      dec use decimal base for integer I/O: seestd::dec[edit]
      oct use octal base for integer I/O: seestd::oct[edit]
      hex use hexadecimal base for integer I/O: seestd::hex[edit]
      basefielddec| oct| hex. Useful for masking operations[edit]
      left left adjustment (adds fill characters to the right): seestd::left[edit]
      right right adjustment (adds fill characters to the left): seestd::right[edit]
      internal internal adjustment (adds fill characters to the internal designated point): seestd::internal[edit]
      adjustfieldleft| right| internal. Useful for masking operations[edit]
      scientific generate floating point types using scientific notation, or hex notation if combined withfixed: seestd::scientific[edit]
      fixed generate floating point types using fixed notation, or hex notation if combined withscientific: seestd::fixed[edit]
      floatfieldscientific| fixed. Useful for masking operations[edit]
      boolalpha insert and extractbool type in alphanumeric format: seestd::boolalpha[edit]
      showbase generate a prefix indicating the numeric base for integer output, require the currency indicator in monetary I/O: seestd::showbase[edit]
      showpoint generate a decimal-point character unconditionally for floating-point number output: seestd::showpoint[edit]
      showpos generate a+ character for non-negative numeric output: seestd::showpos[edit]
      skipws skip leading whitespace before certain input operations: seestd::skipws[edit]
      unitbuf flush the output after each output operation: seestd::unitbuf[edit]
      uppercase replace certain lowercase letters with their uppercase equivalents in certain output operations: seestd::uppercase[edit]

      (typedef)[edit]
      state of the stream type

      The following constants are also defined:

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

      (typedef)[edit]
      seeking direction type

      The following constants are also defined:

      Constant Explanation[edit]
      beg the beginning of a stream[edit]
      end the ending of a stream[edit]
      cur the current position of stream position indicator[edit]

      (typedef)[edit]
      specifies event type
      (enum)[edit]
      callback function type
      (typedef)[edit]

      [edit]Notes

      Feature-test macroValueStdFeature
      __cpp_lib_syncbuf201803L(C++20)Synchronized buffered ostream (std::osyncstream,std::syncbuf) and manipulators
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_osyncstream&oldid=165196"

      [8]ページ先頭

      ©2009-2025 Movatter.jp