home | help
std::basic_...buf::seekoff(3)  C++ Standard Libary std::basic_...buf::seekoff(3)

NAME
     std::basic_spanbuf::seekoff - std::basic_spanbuf::seekoff

Synopsis
	protected:

	pos_type seekoff( off_type off, std::ios_base::seekdir dir,
			  std::ios_base::openmode	      which	       =
     (since C++23)

			      std::ios_base::in | std::ios_base::out )
	override;

	Repositions the next pointer to get and/or put area, if possible, to the
     position
	that corresponds to exactly off characters from beginning, end, or  cur-
     rent position
	of the get and/or put area of the buffer.

	Let  n	be  the number of CharT elements in underlying buffer, or 0 when
     there is no
	underlying buffer, this function fails if

	  * the next pointer to the get and/or put area to  reposition	is  null
     and the
	    computed newoff (see below) is not zero, which may occur if there is
     no
	    underlying	buffer,  or the *this is not opened in the mode required
     by which, or
	  *  dir  is   std::ios_base::cur   and   both	 std::ios_base::in   and
     std::ios_base::out are
	    set in which, or
	  *  the  computed  newoff  is	not representable in off_type, less than
     zero, or greater
	    than n.

	newoff is computed as below:

	  * If dir is std::ios_base::beg, newoff is off.
	  * If dir is std::ios_base::cur, newoff is
	       * pptr() - pbase() + off if std::ios_base::out is set  in  which,
     or
	       * gptr() - eback() + off if std::ios_base::in is set in which.
	  * If dir is std::ios_base::end, newoff is
	       *   pptr()   -  pbase()	+  off	if  std::ios_base::out	but  not
     std::ios_base::in is
		 set in the open mode of *this,
	       * otherwise, off + n.

	This function repositions the next pointer to get  and/or  put	area  to
     pbuf + newoff
	on success if std::ios_base::in and/or std::ios_base::out is correspond-
     ingly set in
	which,	where  pbuf  is  the  pointer to the beginning of the underlying
     buffer, or the
	null pointer value if there is no underlying buffer.

Parameters
	off   - relative position to set the next pointer(s) to
		defines base position to apply the relative offset to. It can be
     one of the
		following constants:

	dir   - Constant Explanation
		beg	 the beginning of a stream
		end	 the ending of a stream
		cur	 the current position of stream position indicator
		defines whether the input sequences,  the  output  sequence,  or
     both are
		affected.  It  can be one or a combination of the following con-
     stants:
	which -
		Constant Explanation
		in	 affect the input sequence
		out	 affect the output sequence

Return value
	pos_type(newoff) on success, pos_type(off_type(-1)) on failure.

Example
	 This section is incomplete
	 Reason: no example

See also
		  repositions the next pointer in the input sequence, output se-
     quence, or
	seekoff   both, using relative addressing
	[virtual] (virtual protected member function of
		  std::basic_stringbuf<CharT,Traits,Allocator>)
	seekoff   repositions the next pointer in the input sequence, output se-
     quence, or
	[virtual] both, using relative addressing
		  (virtual protected member function of std::strstreambuf)

Category:
	  * Todo no example

http://cppreference.com 	   2024.06.10	   std::basic_...buf::seekoff(3)

home | help