Namespaces
Variants

std::basic_stringbuf<CharT,Traits,Allocator>:: init_buf_ptrs

From de.cppreference.net
void init_buf_ptrs ( ) ;
( Nur zur Darstellung* )

Initialisiert die Eingabe- und Ausgabesequenzen aus buf entsprechend mode . buf und mode sind exposition-only data members von * this .

Unmittelbar nachdem diese Funktion zurückkehrt:

  • Wenn std::ios_base::out in mode gesetzt ist, zeigt pbase() auf buf. front ( ) und epptr ( ) >= pbase ( ) + buf. size ( ) ist true ;
    • zusätzlich, wenn std::ios_base::ate in mode gesetzt ist, ist pptr ( ) == pbase ( ) + buf. size ( ) true ,
    • andernfalls ist pptr ( ) == pbase ( ) true .
  • Wenn std::ios_base::in in mode gesetzt ist, zeigt eback() auf buf. front ( ) , und gptr ( ) == eback ( ) && egptr ( ) == eback ( ) + buf. size ( ) ist true .

Hinweise

Aus Effizienzgründen können Stream-Puffer-Operationen Invarianten von buf verletzen, während es gekapselt im std::basic_stringbuf gehalten wird, z.B. durch Schreiben auf Zeichen im Bereich [ buf. data ( ) + buf. size ( ) , buf. data ( ) + buf. capacity ( ) ) .

Alle Operationen, die einen std::basic_string aus buf abrufen, stellen sicher, dass die std::basic_string Invarianten für den zurückgegebenen Wert gelten.

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 1448 C++98 Aufruf von init_buf_ptrs () führte zu
pptr ( ) == pbase ( ) + buf. data ( )
für Streams, die sowohl Eingabe- als auch Ausgabestreams sind
führt zu
pptr ( ) == pbase ( ) + buf. size ( )
für Append-Streams