std::basic_spanbuf<CharT,Traits>:: seekoff
|
protected
:
pos_type seekoff
(
off_type off,
std::
ios_base
::
seekdir
dir,
|
(seit C++23) | |
Positioniert den nächsten Zeiger des Lese- und/oder Schreibbereichs, falls möglich, an die Position, die genau
off
Zeichen vom Anfang, Ende oder der aktuellen Position des Lese- und/oder Schreibbereichs des Puffers entspricht.
Sei
n
die Anzahl der
CharT
Elemente im zugrundeliegenden Puffer, oder
0
wenn kein zugrundeliegender Puffer vorhanden ist. Diese Funktion schlägt fehl, wenn
-
der nächste Zeiger zum Repositionieren des Lese- und/oder Schreibbereichs ist null und der berechnete
newoff(siehe unten) ist nicht null, was auftreten kann, wenn kein zugrundeliegender Puffer vorhanden ist, oder * this nicht im vonwhichbenötigten Modus geöffnet ist, oder -
dirist std::ios_base::cur und sowohl std::ios_base::in als auch std::ios_base::out inwhichgesetzt sind, oder -
der berechnete
newoffnicht inoff_typedarstellbar ist, kleiner als null oder größer alsnist.
newoff
wird wie folgt berechnet:
-
Wenn
dirgleich std::ios_base::beg ist, dann istnewoffgleichoff. -
Wenn
dirgleich std::ios_base::cur ist, dann istnewoffgleich-
pptr
(
)
-
pbase
(
)
+
off
falls
std::ios_base::out
in
whichgesetzt ist, oder -
gptr
(
)
-
eback
(
)
+
off
falls
std::ios_base::in
in
whichgesetzt ist.
-
pptr
(
)
-
pbase
(
)
+
off
falls
std::ios_base::out
in
-
Wenn
dirgleich std::ios_base::end ist, dann istnewoffgleich- pptr ( ) - pbase ( ) + off falls std::ios_base::out aber nicht std::ios_base::in im Öffnungsmodus von * this gesetzt ist,
- andernfalls off + n .
Diese Funktion positioniert den nächsten Zeiger des Lese- und/oder Schreibbereichs bei Erfolg auf
pbuf
+
newoff
, falls
std::ios_base::in
und/oder
std::ios_base::out
entsprechend in
which
gesetzt sind, wobei
pbuf
der Zeiger auf den Anfang des zugrundeliegenden Puffers ist, oder den Nullzeigerwert, falls kein zugrundeliegender Puffer vorhanden ist.
Inhaltsverzeichnis |
Parameter
| off | - | relative Position, auf die der/die nächste(n) Zeiger gesetzt werden soll | ||||||||
| dir | - |
definiert die Basisposition, auf die der relative Offset angewendet wird. Es kann eine der folgenden Konstanten sein:
|
||||||||
| which | - |
definiert, ob die Eingabesequenz, die Ausgabesequenz oder beide betroffen sind. Es kann eine oder eine Kombination der folgenden Konstanten sein:
|
Rückgabewert
pos_type ( newoff ) bei Erfolg, pos_type ( off_type ( - 1 ) ) bei Misserfolg.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Memberfunktion von
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beiden neu, unter Verwendung relativer Adressierung
(virtuelle geschützte Memberfunktion von
std::strstreambuf
)
|