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

FreeBSD Manual Pages

  
 
  

home | help
std::strstr...::pbackfail(3)  C++ Standard Libary std::strstr...::pbackfail(3)

NAME
       std::strstreambuf::pbackfail - std::strstreambuf::pbackfail

Synopsis
	  protected:
	  virtual int_type pbackfail( int_type c = EOF );

	  This protected virtual function is called by the public functions
	  basic_streambuf::sungetc  and	 basic_streambuf::sputbackc (which, in
       turn, are called
	  by basic_istream::unget and basic_istream::putback).

	  1) The caller	is requesting that the get area	is backed  up  by  one
       character
	  (pbackfail()	is  called  with no arguments or with EOF as the argu-
       ment)
	  a) First, checks if there is a putback position, and if there	really
       isn't, fails.
	  (strstreambuf	has no external	character source to re-read)
	  b) If	the caller was wrong and  the  putback	position  is  in  fact
       available, simply
	  decrements basic_streambuf::gptr(), e.g. by calling gbump(-1).
	  2) The caller	attempts to putback a different	character from the one
       retrieved
	  earlier  (pbackfail()	 is called with	the character that needs to be
       put back), in
	  which	case
	  a) First, checks if there is a putback position, and if there	isn't,
       fails.
	  b) Then checks what character	is in the  putback  position.  If  the
       character held
	  there	 is  already  equal  to	 (char)c,  then	 simply	decrements ba-
       sic_streambuf::gptr().
	  c) Otherwise,	if the buffer is unmodifiable (this  strstreambuf  was
       constructed with
	  a string literal or some other const array), fails.
	  d) Otherwise,	decrements basic_streambuf::gptr() and writes c	to the
       location
	  pointed to gptr() after adjustment.

Parameters
	  c  -	the  character	to put back, or	Traits::eof() to indicate that
       backing up of the
	      get area is requested

Return value
	  c on success except if c was EOF, in which  case  unspecified	 value
       other than EOF is
	  returned.

	  EOF on failure.

Example
	   This	section	is incomplete
	   Reason: no example

See also
	  pbackfail  puts  a  character	back into the input sequence, possibly
       modifying the
	  [virtual] input sequence
		    (virtual protected member function	of  std::basic_stream-
       buf<CharT,Traits>)
	  sungetc   moves the next pointer in the input	sequence back by one
		    (public	member	  function    of    std::basic_stream-
       buf<CharT,Traits>)
	  sputbackc puts one character back in the input sequence
		    (public    member	 function    of	    std::basic_stream-
       buf<CharT,Traits>)
	  unget	    unextracts a character
		    (public	  member       function	      of      std::ba-
       sic_istream<CharT,Traits>)
	  putback   puts character into	input stream
		    (public	 member	      function	     of	      std::ba-
       sic_istream<CharT,Traits>)

http://cppreference.com		  2022.07.31	  std::strstr...::pbackfail(3)

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

home | help