std::basic_streambuf<CharT,Traits>:: pbump
|
protected
:
void pbump ( int count ) ; |
||
Verschiebt den
put pointer
(
pptr()
) um
count
Zeichen, wobei
count
positiv oder negativ sein kann. Es werden keine Überprüfungen durchgeführt, ob der Zeiger außerhalb des Put-Bereichs bewegt wird
[
pbase
(
)
,
epptr
(
)
)
.
Wenn der Zeiger vorgerückt wird und dann overflow() aufgerufen wird, um den Put-Bereich in die zugehörige Zeichensequenz zu leeren, ist der Effekt, dass zusätzliche count Zeichen mit undefinierten Werten ausgegeben werden.
Inhaltsverzeichnis |
Parameter
| count | - | Anzahl, die zum Put-Zeiger hinzugefügt werden soll |
Rückgabewert
(keine)
Hinweise
Da diese Funktion einen int verwendet, kann sie keine Puffer größer als std:: numeric_limits < int > :: max ( ) Zeichen verarbeiten ( LWG issue 255 ).
Beispiel
#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'; }
Ausgabe:
The put area contains: 1234 after pbump(10), it contains 1234 is a test
Siehe auch
|
bewegt den nächsten Zeiger in der Eingabesequenz vor
(geschützte Elementfunktion) |