30 Input/output library [input.output]

30.6 Stream buffers [stream.buffers]

30.6.3 Class template basic_­streambuf [streambuf]

30.6.3.3 basic_­streambuf protected member functions [streambuf.protected]

30.6.3.3.1 Assignment [streambuf.assign]

basic_streambuf& operator=(const basic_streambuf& rhs);

Effects: Назначает элементы данных rhs для *this.

Postconditions:

  • eback() == rhs.eback()

  • gptr() == rhs.gptr()

  • egptr() == rhs.egptr()

  • pbase() == rhs.pbase()

  • pptr() == rhs.pptr()

  • epptr() == rhs.epptr()

  • getloc() == rhs.getloc()

Returns: *this.

void swap(basic_streambuf& rhs);

Effects: Меняет местами элементы данных rhs и *this.

30.6.3.3.2 Get area access [streambuf.get.area]

char_type* eback() const;

Returns: Начальный указатель входной последовательности.

char_type* gptr() const;

Returns: Следующий указатель входной последовательности.

char_type* egptr() const;

Returns: Конечный указатель входной последовательности.

void gbump(int n);

Effects: Добавляет n к следующему указателю входной последовательности.

void setg(char_type* gbeg, char_type* gnext, char_type* gend);

Postconditions: gbeg == eback(),, gnext == gptr()и gend == egptr().

30.6.3.3.3 Put area access [streambuf.put.area]

char_type* pbase() const;

Returns: Начальный указатель выходной последовательности.

char_type* pptr() const;

Returns: Следующий указатель выходной последовательности.

char_type* epptr() const;

Returns: Конечный указатель выходной последовательности.

void pbump(int n);

Effects: Добавляет n к следующему указателю выходной последовательности.

void setp(char_type* pbeg, char_type* pend);

Postconditions: pbeg == pbase(),, pbeg == pptr()и pend == epptr().