home | help
std::basic_...ambuf::pbump(3)  C++ Standard Libary std::basic_...ambuf::pbump(3)

NAME
     std::basic_streambuf::pbump - std::basic_streambuf::pbump

Synopsis
	protected:
	void pbump( int count );

	Repositions  the  put  pointer (pptr()) by count characters, where count
     may be
	positive or negative. No checks are done for moving the pointer  outside
     the put area
	[pbase(), epptr()).

	If  the  pointer  is advanced and then overflow() is called to flush the
     put area to
	the associated character sequence, the effect is that extra count  char-
     acters with
	undefined values are output.

Parameters
	count - number to add to the put pointer

Return value
	(none)

Notes
	Because  this function takes an int, it cannot manipulate buffers larger
     than
	std::numeric_limits<int>::max() characters (LWG issue 255).

Example
     // Run this code

      #include <fstream>
      #include <iostream>
      #include <string>

      struct showput_streambuf : std::filebuf
      {
	  using std::filebuf::pbump; // expose protected
	  std::string showput() const
	  {
	      return std::string(pbase(), pptr());
	  }
      };

      int main()
      {
	  showput_streambuf mybuf;
	  mybuf.open("test.txt", std::ios_base::out);
	  std::ostream str(&mybuf);
	  str << "This is a test" << std::flush << "1234";
	  std::cout << "The put area contains: " << mybuf.showput() << '\n';
	  mybuf.pbump(10);
	  std::cout << "after pbump(10), it contains  "  <<  mybuf.showput()  <<
     '\n';
      }

Output:
      The put area contains: 1234
      after pbump(10), it contains 1234 is a test

See also
	gbump advances the next pointer in the input sequence
	      (protected member function)

http://cppreference.com 	   2024.06.10	   std::basic_...ambuf::pbump(3)

home | help