Заголовочный файл стандартной библиотеки <ios>
Материал из cppreference.com
Этот заголовок является частью Input/Output библиотеки.
Включает в себя | ||
Предварительные объявления всех классов в библиотеке ввода/вывода | ||
Classes | ||
управляет флагами форматирования и исключениями ввода/вывода (класс) | ||
управляет произвольным буфером потока (шаблон класса) | ||
представляет абсолютную позицию в потоке или файле (шаблон класса) | ||
(C++11) | коды ошибок потока ввода/вывода (перечисление) | |
расширяет признак типа std::is_error_code_enum для идентификации кодов ошибок iostream (специализация шаблона класса) | ||
представляет относительную позицию файла/потока (смещение от fpos), достаточную для представления любого размера файла (определение типа) | ||
представляет количество символов, переданных в операции ввода/вывода, или размер буфера ввода/вывода (определение типа) | ||
Functions | ||
(C++11) | определяет категорию ошибок iostream (функция) | |
создаёт код ошибки iostream (функция) | ||
создает код ошибки iostream (функция) | ||
переключает между текстовым и числовым представлением логических значений (функция) | ||
контролирует, используется ли префикс для обозначения основания числа (функция) | ||
контролирует, всегда ли включена десятичная точка в представлении числа с плавающей точкой (функция) | ||
контролирует, используется ли знак + с неотрицательными числами (функция) | ||
контролирует, пропускаются ли ведущие пробелы при вводе (функция) | ||
контролирует, используются ли символы верхнего регистра в некоторых форматах вывода (функция) | ||
контролирует, очищается ли вывод после каждой операции (функция) | ||
устанавливает расположение символов заполнения (функция) | ||
изменяет базу, используемую для целочисленного ввода/вывода (функция) | ||
(C++11)(C++11) | изменяет форматирование, используемое для ввода/вывода чисел с плавающей запятой (функция) |
[править]Краткий обзор
#include <iosfwd> namespace std {using streamoff =/* определенная реализация */;using streamsize =/* определенная реализация */;template<class StateT>class fpos; class ios_base;template<class CharT, class Traits = char_traits<CharT>>class basic_ios; // manipulators ios_base& boolalpha (ios_base& str); ios_base& noboolalpha(ios_base& str); ios_base& showbase (ios_base& str); ios_base& noshowbase (ios_base& str); ios_base& showpoint (ios_base& str); ios_base& noshowpoint(ios_base& str); ios_base& showpos (ios_base& str); ios_base& noshowpos (ios_base& str); ios_base& skipws (ios_base& str); ios_base& noskipws (ios_base& str); ios_base& uppercase (ios_base& str); ios_base& nouppercase(ios_base& str); ios_base& unitbuf (ios_base& str); ios_base& nounitbuf (ios_base& str); // adjustfield ios_base& internal (ios_base& str); ios_base& left (ios_base& str); ios_base& right (ios_base& str); // basefield ios_base& dec (ios_base& str); ios_base& hex (ios_base& str); ios_base& oct (ios_base& str); // floatfield ios_base& fixed (ios_base& str); ios_base& scientific (ios_base& str); ios_base& hexfloat (ios_base& str); ios_base& defaultfloat(ios_base& str); // сообщение об ошибкахenumclass io_errc { stream =1}; template<>struct is_error_code_enum<io_errc>:public true_type {}; error_code make_error_code(io_errc e)noexcept; error_condition make_error_condition(io_errc e)noexcept;const error_category& iostream_category()noexcept;}
[править]Классstd::ios_base
namespace std {class ios_base {public:class failure;// см. описание // fmtflagsusing fmtflags =/*bitmask-type-1*/;staticconstexpr fmtflags boolalpha =/* неуточненный*/;staticconstexpr fmtflags dec =/* неуточненный*/;staticconstexpr fmtflags fixed =/* неуточненный*/;staticconstexpr fmtflags hex =/* неуточненный*/;staticconstexpr fmtflags internal =/* неуточненный*/;staticconstexpr fmtflags left =/* неуточненный*/;staticconstexpr fmtflags oct =/* неуточненный*/;staticconstexpr fmtflags right =/* неуточненный*/;staticconstexpr fmtflags scientific =/* неуточненный*/;staticconstexpr fmtflags showbase =/* неуточненный*/;staticconstexpr fmtflags showpoint =/* неуточненный*/;staticconstexpr fmtflags showpos =/* неуточненный*/;staticconstexpr fmtflags skipws =/* неуточненный*/;staticconstexpr fmtflags unitbuf =/* неуточненный*/;staticconstexpr fmtflags uppercase =/* неуточненный*/;staticconstexpr fmtflags adjustfield =/* см. описание */;staticconstexpr fmtflags basefield =/* см. описание */;staticconstexpr fmtflags floatfield =/* см. описание */; // iostateusing iostate =/*bitmask-type-2*/;staticconstexpr iostate badbit =/* неуточненный*/;staticconstexpr iostate eofbit =/* неуточненный*/;staticconstexpr iostate failbit =/* неуточненный*/;staticconstexpr iostate goodbit =/* см. описание */; // openmodeusing openmode =/*bitmask-type-3*/;staticconstexpr openmode app =/* неуточненный*/;staticconstexpr openmode ate =/* неуточненный*/;staticconstexpr openmode binary =/* неуточненный*/;staticconstexpr openmode in =/* неуточненный*/;staticconstexpr openmode out =/* неуточненный*/;staticconstexpr openmode trunc =/* неуточненный*/; // seekdirusing seekdir =/*bitmask-type-4*/;staticconstexpr seekdir beg =/* неуточненный*/;staticconstexpr seekdir cur =/* неуточненный*/;staticconstexpr seekdir end =/* неуточненный*/; class Init; // fmtflags state fmtflags flags()const; fmtflags flags(fmtflags fmtfl); fmtflags setf(fmtflags fmtfl); fmtflags setf(fmtflags fmtfl, fmtflags mask);void unsetf(fmtflags mask); streamsize precision()const; streamsize precision(streamsize prec); streamsize width()const; streamsize width(streamsize wide); // locales locale imbue(const locale& loc); locale getloc()const; // хранениеstaticint xalloc();long& iword(int idx);void*& pword(int idx); // destructorvirtual ~ios_base(); // callbacksenum event { erase_event, imbue_event, copyfmt_event };using event_callback =void(*)(event, ios_base&, int idx);void register_callback(event_callback fn, int idx); ios_base(const ios_base&)= delete; ios_base& operator=(const ios_base&)= delete; staticbool sync_with_stdio(bool sync =true); protected: ios_base(); private:staticint index;// exposition onlylong* iarray;// exposition onlyvoid** parray;// exposition only};}
[править]Классstd::ios_base::failure
namespace std {class ios_base::failure:public system_error {public:explicit failure(const string& msg, const error_code& ec = io_errc::stream);explicit failure(constchar* msg, const error_code& ec = io_errc::stream);};}
[править]Классstd::ios_base::Init
namespace std {class ios_base::Init{public: Init(); Init(const Init&)=default; ~Init(); Init& operator=(const Init&)=default;private:staticint init_cnt;// exposition only};}
[править]Class template std::fpos
namespace std {template<class StateT>class fpos {public:// members StateT state()const;void state(stateT);private; StateT st;// exposition only};}
[править]Class template std::basic_ios
namespace std {template<class CharT, class Traits = char_traits<CharT>>class basic_ios :public ios_base {public:using char_type = CharT;using int_type =typename Traits::int_type;using pos_type =typename Traits::pos_type;using off_type =typename Traits::off_type;using traits_type = Traits; // flags functionsexplicit operator bool()const;bool operator!()const; iostate rdstate()const;void clear(iostate state = goodbit);void setstate(iostate state);bool good()const;bool eof()const;bool fail()const;bool bad()const; iostate exceptions()const;void exceptions(iostate except); // constructor/destructorexplicit basic_ios(basic_streambuf<CharT, Traits>* sb);virtual ~basic_ios(); // members basic_ostream<CharT, Traits>* tie()const; basic_ostream<CharT, Traits>* tie(basic_ostream<CharT, Traits>* tiestr); basic_streambuf<CharT, Traits>* rdbuf()const; basic_streambuf<CharT, Traits>* rdbuf(basic_streambuf<CharT, Traits>* sb); basic_ios& copyfmt(const basic_ios& rhs); char_type fill()const; char_type fill(char_type ch); locale imbue(const locale& loc); char narrow(char_type c, char dfault)const; char_type widen(char c)const; basic_ios(const basic_ios&)= delete; basic_ios& operator=(const basic_ios&)= delete; protected: basic_ios();void init(basic_streambuf<CharT, Traits>* sb);void move(basic_ios& rhs);void move(basic_ios&& rhs);void swap(basic_ios& rhs)noexcept;void set_rdbuf(basic_streambuf<CharT, Traits>* sb); };}