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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::basic_spanbuf - std::basic_spanbuf

Synopsis
	  Defined in header <spanstream>
	  template<

	      class CharT,
	      class Traits = std::char_traits<CharT>	    (since C++23)
	  > class basic_spanbuf

	      :	public std::basic_streambuf<CharT, Traits>

	  std::basic_spanbuf  is a std::basic_streambuf	whose associated char-
       acter sequence is
	  a memory-resident sequence of	arbitrary  characters,	which  can  be
       initialized from	or
	  made available as an instance	of std::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::spanbuf	std::basic_spanbuf<char>
	  std::wspanbuf	std::basic_spanbuf<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

	  Data members

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

Member functions
Public member functions
	  constructor	    constructs a basic_spanbuf object
	  (C++23)	    (public member function)
	  destructor	    destroys the basic_spanbuf object
	  [virtual] (C++23) (virtual public member function)
	  operator=	    assigns a basic_spanbuf object
	  (C++23)	    (public member function)
	  swap		    swaps two basic_spanbuf objects
	  (C++23)	    (public member function)
	  span		     obtains  or  initializes an underlying buffer ac-
       cording to mode
	  (C++23)	    (public member function)

Protected member functions
	  setbuf	    attempts to	replace	the controlled	character  se-
       quence with an
	  [virtual] (C++23) array
			    (virtual protected member function)
	  seekoff	     repositions  the  next  pointer  in the input se-
       quence, output
	  [virtual] (C++23) sequence, or both, using relative addressing
			    (virtual protected member function)
	  seekpos	    repositions	the next  pointer  in  the  input  se-
       quence, output
	  [virtual] (C++23) sequence, or both using absolute addressing
			    (virtual protected member function)

Non-member functions
	  std::swap(std::basic_spanbuf)	specializes the	std::swap algorithm
	  (C++23)			(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
	  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	a std::basic_spanbuf object.  Additional  syn-
       chronization may	be
	  needed  if  more than	one thread operates the	same underlying	buffer
       through different
	  std::basic_spanbuf objects.

	   Feature-test	macro	Value	 Std		  Feature
	  __cpp_lib_spanstream 202106L (C++23) std::spanbuf, std::spanstream

See also
	  basic_stringbuf	implements raw string device
				(class template)
	  strstreambuf		implements raw character array device
	  (deprecated in C++98)	(class)
	  (removed in C++26)

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

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

home | help