basic_ostream<charT, traits>* tie() const;
Returns: Выходная последовательность, которая tied должна (синхронизироваться) с последовательностью, управляемой буфером потока.
basic_ostream<charT, traits>* tie(basic_ostream<charT, traits>* tiestr);
Requires: Если tiestr не равно нулю, он tiestr не должен быть доступен при просмотре связанного списка связанных объектов потока, начиная с tiestr->tie().
basic_streambuf<charT, traits>* rdbuf() const;
basic_streambuf<charT, traits>* rdbuf(basic_streambuf<charT, traits>* sb);
locale imbue(const locale& loc);
Effects: Вызывает ios_base::imbue(loc) ([ios.base.locales]), а если rdbuf() != 0 то rdbuf()->pubimbue(loc) ([streambuf.locales]).
char narrow(char_type c, char dfault) const;
char_type widen(char c) const;
char_type fill() const;
Returns: Символ, используемый для заполнения (заполнения) преобразования вывода до указанной ширины поля.
char_type fill(char_type fillch);
basic_ios& copyfmt(const basic_ios& rhs);
Effects: Если (this == &rhs) ничего не делает. В противном случае присваивает объектам *this -членам соответствующих объектов-членов rhs следующим образом:
1.вызывает каждую зарегистрированную пару обратных вызовов (fn, index) как (*fn)(erase_event, *this, index);
2.присваивается объектам *this -членам соответствующих объектов-членов rhs, за исключением того, что
rdstate(),, rdbuf()и exceptions() остаются без изменений;
копируется содержимое массивов, на которые указывает pword и iword , а не сами указатели;296 а также
если какие-либо вновь сохраненные значения указателя *this указывают на объекты, хранящиеся вне объекта, rhs и эти объекты уничтожаются при rhs уничтожении, вновь сохраненные значения указателя изменяются, чтобы указывать на вновь созданные копии объектов;
3.вызывает каждую пару обратных вызовов, скопированную из rhs as (*fn)(copyfmt_event, *this, index);
4.звонки exceptions(rhs.exceptions()).
[ Note: Второй проход через пары обратного вызова позволяет pword обнулить скопированное значение, либо глубоко скопировать его референт, либо подсчитать ссылку, либо выполнить другие специальные действия. ] — end note
Postconditions: Постусловия этой функции указаны в таблице 114.
Элемент | Ценить |
rdbuf() | unchanged |
tie() | rhs.tie() |
rdstate() | unchanged |
exceptions() | rhs.exceptions() |
flags() | rhs.flags() |
width() | rhs.width() |
precision() | rhs.precision() |
fill() | rhs.fill() |
getloc() | rhs.getloc() |
void move(basic_ios& rhs);
void move(basic_ios&& rhs);
Postconditions: *this должен иметь состояние, которое rhs было до вызова функции, за исключением тогоrdbuf() , что должен возвращать 0. rhs должен быть в допустимом, но неуказанном состоянии, за исключением того rhs.rdbuf() , что должен возвращать то же значение, что и перед вызовом функции, и rhs.tie() должен возвращать 0.
void swap(basic_ios& rhs) noexcept;
Effects: Состояниями *this и rhs необходимо поменять местами, за исключением того rdbuf() , что они должны возвращать то же значение, что и перед вызовом функции, и rhs.rdbuf() должны возвращать то же значение, что и перед вызовом функции.
void set_rdbuf(basic_streambuf<charT, traits>* sb);
Effects: Связывает basic_streambuf объект, на который указывает sb этот поток, без вызова clear().
Это предполагает бесконечное количество копий, но реализация может отслеживать максимальный элемент массивов, который не равен нулю.