Namensräume
Varianten
Aktionen

std::basic_spanbuf<CharT,Traits>::seekoff

Von cppreference.com
< cpp‎ | io‎ | basic spanbuf
 
 
 
std::basic_spanbuf
Öffentliche Memberfunktionen
Geschützte Memberfunktionen
basic_spanbuf::seekoff
(C++23)
Nicht-Member-Funktionen
 
protected:

pos_type seekoff( off_type off, std::ios_base::seekdir dir,
                  std::ios_base::openmode which =

                      std::ios_base::in | std::ios_base::out ) override;
(seit C++23)

Positioniert den nächsten Zeiger für den Lese- und/oder Schreibbereich, 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 zugrunde liegenden Puffer oder 0, wenn kein zugrunde liegender Puffer vorhanden ist. Diese Funktion schlägt fehl, wenn

  • der nächste Zeiger für den Lese- und/oder Schreibbereich, der neu positioniert werden soll, null ist und das berechnete newoff (siehe unten) nicht null ist, was auftreten kann, wenn kein zugrunde liegender Puffer vorhanden ist, oder *this nicht im von which geforderten Modus geöffnet ist, oder
  • dir std::ios_base::cur ist und sowohl std::ios_base::in als auch std::ios_base::out in which gesetzt sind, oder
  • das berechnete newoff nicht in off_type darstellbar ist, kleiner als null oder größer als n ist.

newoff wird wie folgt berechnet:

Diese Funktion positioniert den nächsten Zeiger für den Lese- und/oder Schreibbereich im Erfolgsfall auf pbuf + newoff, wenn std::ios_base::in und/oder std::ios_base::out entsprechend in which gesetzt sind, wobei pbuf der Zeiger auf den Anfang des zugrunde liegenden Puffers ist oder der Nullzeigerwert, wenn kein zugrunde liegender Puffer vorhanden ist.

Inhalt

[bearbeiten] Parameter

off - relativer Positionsversatz, auf den die nächsten Zeiger gesetzt werden sollen.
dir - definiert die Basisposition, auf die der relative Offset angewendet wird. Es kann eine der folgenden Konstanten sein
Konstante Erklärung
beg der Anfang eines Streams
end das Ende eines Streams
cur die aktuelle Position des Stream-Positionsanzeigers
which - legt fest, ob die Eingabesequenzen, die Ausgabesequenz oder beide betroffen sind. Es kann eine oder eine Kombination der folgenden Konstanten sein:
Konstante Erklärung
in beeinflusst die Eingabesequenz
out beeinflusst die Ausgabesequenz

[bearbeiten] Rückgabewert

pos_type(newoff) im Erfolgsfall, pos_type(off_type(-1)) im Fehlerfall.

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung relativer Adressierung
(virtuelle protected Member-Funktion von std::basic_stringbuf<CharT,Traits,Allocator>) [edit]
[virtuell]
positioniert den nächsten Zeiger in der Eingabesequenz, Ausgabesequenz oder beidem neu, unter Verwendung relativer Adressierung
(virtuelle protected Member-Funktion von std::strstreambuf) [edit]