30 Input/output library [input.output]

30.6 Stream buffers [stream.buffers]

30.6.3 Class template basic_­streambuf [streambuf]

30.6.3.2 basic_­streambuf public member functions [streambuf.members]

30.6.3.2.1 Locales [streambuf.locales]

locale pubimbue(const locale& loc);

Postconditions: loc == getloc().

Effects: Звонки imbue(loc).

Returns: Предыдущее значение getloc().

locale getloc() const;

Returns: Если pubimbue() когда-либо вызывалась, то последнее значение loc предоставлено, в противном случае - текущая глобальная локаль, locale()действующая на момент создания. Если вызван после того, pubimbue() как был вызван, но перед возвратомpubimbue (т. Е. Изнутри вызова imbue()), то он возвращает предыдущее значение.

30.6.3.2.2 Buffer management and positioning [streambuf.buffer]

basic_streambuf* pubsetbuf(char_type* s, streamsize n);

Returns: setbuf(s, n).

pos_type pubseekoff(off_type off, ios_base::seekdir way, ios_base::openmode which = ios_base::in | ios_base::out);

Returns: seekoff(off, way, which).

pos_type pubseekpos(pos_type sp, ios_base::openmode which = ios_base::in | ios_base::out);

Returns: seekpos(sp, which).

int pubsync();

Returns: sync().

30.6.3.2.3 Get area [streambuf.pub.get]

streamsize in_avail();

Returns: Если позиция чтения доступна, возвращается egptr() - gptr(). В противном случае возвращается showmanyc().

int_type snextc();

Effects: Звонки sbumpc().

Returns: Если эта функция возвращается traits​::​eof(), возвращается traits​::​eof(). В противном случае возвращается sgetc().

int_type sbumpc();

Returns: Если позиция чтения входной последовательности недоступна, возвращается uflow(). В противном случае возвращает traits​::​to_­int_­type(*gptr()) и увеличивает следующий указатель для входной последовательности.

int_type sgetc();

Returns: Если позиция чтения входной последовательности недоступна, возвращается underflow(). В противном случае возвращается traits​::​to_­int_­type(*gptr()).

streamsize sgetn(char_type* s, streamsize n);

Returns: xsgetn(s, n).

30.6.3.2.4 Putback [streambuf.pub.pback]

int_type sputbackc(char_type c);

Returns: Если позиция возврата входной последовательности недоступна, или если traits​::​eq(c, gptr()[-1]) есть false, возвращается pbackfail(traits​::​to_­int_­type(c)). В противном случае уменьшает следующий указатель входной последовательности и возвращается traits​::​to_­int_­type(*gptr()).

int_type sungetc();

Returns: Если позиция возврата входной последовательности недоступна, возвращается pbackfail(). В противном случае уменьшает следующий указатель входной последовательности и возвращается traits​::​to_­int_­type(*gptr()).

30.6.3.2.5 Put area [streambuf.pub.put]

int_type sputc(char_type c);

Returns: Если позиция записи выходной последовательности недоступна, возвращается overflow(traits​::​to_­int_­type(c)). В противном случае сохраняет c в следующем указателе выходной последовательности, увеличивает указатель на единицу и возвращается traits​::​to_­int_­type(c).

streamsize sputn(const char_type* s, streamsize n);

Returns: xsputn(s, n).