27.6.3.4.2 Pufferverwaltung und -positionierung
%Vor%
- Effekte: Ändert die Stream-Positionen in einem oder mehreren der gesteuerte Sequenzen in einer Weise, die für jede separat definiert ist Klasse abgeleitet von
basic_streambuf
in dieser Klausel (27.8.2.4, 27.9.1.5).- Standardverhalten: Gibt
pos_type(off_type(-1))
zurück.
So weit, so gut. Die basic_streambuf
Ableitung, die ich verwende, kann ihre Position für ios_base::in
und / oder ios_base::out
getrennt ändern. Aber was muss ich zurückgeben, wenn beide angegeben sind?
Wenn Sie ios_base::in
oder ios_base::out
angeben, geben wir die neue Stream-Position der spezifischen Sequenz zurück.
Es ist etwas mit Ihrem Stream zu tun, um zu definieren, was passiert. Die eingebauten Streams unterscheiden sich darin, dass einige getrennte Lese- und Schreibpositionen (stringstream) haben können, während andere nur einen (fstream) haben.
Wenn der Benutzer eine Neupositionierung vornimmt und beides eingibt, sollten Sie beide verschieben. Wenn es eine Suche mit einer Nullverschiebung ist, um die aktuelle Position zu erhalten, ist es nicht unvernünftig zu versagen, wenn die Positionen unterschiedlich sind.
Nach dem Suchabruf von 27.8.2.4 scheint es, dass von Ihnen erwartet wird, dass Sie scheitern.
Überprüfen Sie die Konditionstabelle 130, die besagt, dass sowohl Eingabe- als auch Ausgabesequenzen nur dann positioniert werden sollten, wenn
%Vor%