Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::basic_spanbuf

      From cppreference.com
      <cpp‎ |io
       
       
       
      std::basic_spanbuf
      Public member functions
      Protected member functions
      Non-member functions
       
      Defined in header<spanstream>
      template<

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

         :publicstd::basic_streambuf<CharT, Traits>
      (since C++23)

      std::basic_spanbuf is astd::basic_streambuf whose associated character sequence is a memory-resident sequence of arbitrary characters, which can be initialized from or made available as an instance ofstd::span<CharT>.

      std::basic_spanbuf performs I/O on a fixed buffer, and therefore it does not attempt to obtain a new buffer when the underlying buffer is exhausted.

      Several typedefs for common character types are provided:

      Defined in header<spanstream>
      Type Definition
      std::spanbufstd::basic_spanbuf<char>
      std::wspanbufstd::basic_spanbuf<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]

      [edit]Data members

      Member name Definition
      mod(private) Astd::ios_base::openmode recording the open mode.
      (exposition-only member object*)
      buf(private) Astd::span<CharT> referencing the underlying buffer.
      (exposition-only member object*)

      [edit]Member functions

      Public member functions
      constructs abasic_spanbuf object
      (public member function)[edit]
      (destructor)
      [virtual]
      destroys thebasic_spanbuf object
      (virtual public member function)
      assigns abasic_spanbuf object
      (public member function)[edit]
      swaps twobasic_spanbuf objects
      (public member function)[edit]
      obtains or initializes an underlying buffer according to mode
      (public member function)[edit]
      Protected member functions
      [virtual]
      attempts to replace the controlled character sequence with an array
      (virtual protected member function)[edit]
      [virtual]
      repositions the next pointer in the input sequence, output sequence, or both, using relative addressing
      (virtual protected member function)[edit]
      [virtual]
      repositions the next pointer in the input sequence, output sequence, or both using absolute addressing
      (virtual protected member function)[edit]

      [edit]Non-member functions

      specializes thestd::swap algorithm
      (function template)[edit]

      Inherited fromstd::basic_streambuf

      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]

      Member functions

      [virtual]
      destructs thebasic_streambuf object
      (virtual public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      Locales
      changes the associated locale and invokesimbue()
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      obtains a copy of the associated locale
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      Positioning
      invokessetbuf()
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      invokesseekoff()
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      invokesseekpos()
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      invokessync()
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      Get area
      obtains the number of characters immediately available in the get area
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      advances the input sequence, then reads one character without advancing again
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      (removed in C++17)
      reads one character from the input sequence and advances the sequence
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      reads one character from the input sequence without advancing the sequence
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      invokesxsgetn()
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      Put area
      writes one character to the put area and advances the next pointer
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      invokesxsputn()
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      Putback
      puts one character back in the input sequence
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      moves the next pointer in the input sequence back by one
      (public member function ofstd::basic_streambuf<CharT,Traits>)[edit]

      Protected member functions

      constructs abasic_streambuf object
      (protected member function)[edit]
      (C++11)
      replaces abasic_streambuf object
      (protected member function)[edit]
      (C++11)
      swaps twobasic_streambuf objects
      (protected member function)[edit]
      Locales
      [virtual]
      reacts to a change of the associated locale
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      Positioning
      [virtual]
      replaces the buffer with user-defined array, if permitted
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      [virtual]
      repositions the next pointer in the input sequence, output sequence, or both, using relative addressing
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      [virtual]
      repositions the next pointer in the input sequence, output sequence, or both using absolute addressing
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      [virtual]
      synchronizes the buffers with the associated character sequence
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      Get area
      [virtual]
      obtains the number of characters available for input in the associated input sequence, if known
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      [virtual]
      reads characters from the associated input sequence to the get area
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      [virtual]
      reads characters from the associated input sequence to the get area and advances the next pointer
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      [virtual]
      reads multiple characters from the input sequence
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      returns a pointer to the beginning, current character and the end of the get area
      (protected member function)[edit]
      advances the next pointer in the input sequence
      (protected member function)[edit]
      repositions the beginning, next, and end pointers of the input sequence
      (protected member function)[edit]
      Put area
      [virtual]
      writes multiple characters to the output sequence
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      [virtual]
      writes characters to the associated output sequence from the put area
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]
      returns a pointer to the beginning, current character and the end of the put area
      (protected member function)[edit]
      advances the next pointer of the output sequence
      (protected member function)[edit]
      repositions the beginning, next, and end pointers of the output sequence
      (protected member function)[edit]
      Putback
      [virtual]
      puts a character back into the input sequence, possibly modifying the input sequence
      (virtual protected member function ofstd::basic_streambuf<CharT,Traits>)[edit]

      [edit]Notes

      std::basic_spanbuf does not own the underlying buffer.

      It is the responsibility of programmers to ensure the underlying buffer is in its lifetime when used by astd::basic_spanbuf object. Additional synchronization may be needed if more than one thread operates the same underlying buffer through differentstd::basic_spanbuf objects.

      Feature-test macroValueStdFeature
      __cpp_lib_spanstream202106L(C++23)std::spanbuf,std::spanstream

      [edit]See also

      implements raw string device
      (class template)[edit]
      (deprecated in C++98)(removed in C++26)
      implements raw character array device
      (class)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_spanbuf&oldid=177360"

      [8]ページ先頭

      ©2009-2025 Movatter.jp