std::basic_streambuf::pbump - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::basic_streambuf::pbump

From cppreference.com
< cpp‎ | io‎ | basic streambuf

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` characters with undefined values are output.

### [edit] Parameters

count | - | number to add to the put pointer

### [edit] Return value

(none)

### [edit] Example

Run this code

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

    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

### [edit] See also

gbump | advances the next pointer in the input sequence (protected member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_streambuf/pbump&oldid=64245"