標準入出力ライブラリで、C++98のころから非推奨だった型の別名と関数の別名が、C++1zで削除されます。
まず、std::ios_base
クラスの以下のメンバ型が削除されます:
namespace std { class ios_base { public: typedef T1 io_state; typedef T2 open_mode; typedef T3 seek_dir; typedef implementation-defined streamoff; typedef implementation-defined streampos; }; }
ios_base::io_state
の代わりにios_base::iostate
を使用します。ios_base::open_mode
の代わりにios_base::openmode
を使用します。ios_base::seek_dir
の代わりにios_base::seekdir
を使用します。ios_base::streamoff
の代わりに、char_traits<CharT>::off_type
もしくはbasic_ios<CharT>::off_type
を使用します。(<iosfwd>
で定義されているstd::streamoff
は残ります)ios_base::streampos
の代わりに、char_traits<CharT>::pos_type
もしくはbasic_ios<CharT>::pos_type
を使用します。(<iosfwd>
で定義されているstd::streampos
は残ります)
std::basic_streambuf
クラスの以下のメンバ関数が削除されます:
namespace std { template <class charT, class traits = char_traits<charT> > class basic_streambuf { public: void stossc(); }; }
このメンバ関数は、同クラスのメンバ関数であるパラメータなしのsbumpc()
を呼び出しているだけです。
ios_base
クラスの別名型が削除されることにともない、それらの型をパラメータにとる関数が削除されます。
namespace std { template <class charT, class traits> class basic_ios { public: void clear(io_state state); void setstate(io_state state); void exceptions(io_state); }; template <class charT, class traits = char_traits<charT> > class basic_streambuf { public: pos_type pubseekoff(off_type off, ios_base::seek_dir way, ios_base::open_mode which = ios_base::in | ios_base::out); pos_type pubseekpos(pos_type sp, ios_base::open_mode which); }; template <class charT, class traits = char_traits<charT> > class basic_filebuf : public basic_streambuf<charT,traits> { public: basic_filebuf<charT,traits>* open(const char* s, ios_base::open_mode mode); }; template <class charT, class traits = char_traits<charT> > class basic_ifstream : public basic_istream<charT,traits> { public: void open(const char* s, ios_base::open_mode mode); }; template <class charT, class traits = char_traits<charT> > class basic_ofstream : public basic_ostream<charT,traits> { public: void open(const char* s, ios_base::open_mode mode); }; }
io_state
をとるメンバ関数の代わりとして、iostate
をとるメンバ関数があります。open_mode
をとるメンバ関数の代わりとして、openmode
をとるメンバ関数があります。seek_dir
をとるメンバ関数の代わりとして、seekdir
をとるメンバ関数があります。
参照
お断り
この記事の内容は、C++1zが正式リリースされる際には変更される可能性があります。正式リリース後には、C++日本語リファレンスサイトcpprefjpの以下の階層の下に解説ページを用意する予定です。