8 #ifndef BOOST_NOWIDE_IOSTREAM_HPP_INCLUDED     9 #define BOOST_NOWIDE_IOSTREAM_HPP_INCLUDED    11 #include <boost/nowide/config.hpp>    12 #include <boost/scoped_ptr.hpp>    18 #  pragma warning(push)    19 #  pragma warning(disable : 4251)    25     #if !defined(BOOST_WINDOWS) && !defined(BOOST_NOWIDE_DOXYGEN)    34         class console_output_buffer;
    35         class console_input_buffer;
    37         class BOOST_NOWIDE_DECL winconsole_ostream : 
public std::ostream {
    38             winconsole_ostream(winconsole_ostream 
const &);
    39             void operator=(winconsole_ostream 
const &);
    41             winconsole_ostream(
int fd);
    42             ~winconsole_ostream();
    44             boost::scoped_ptr<console_output_buffer> d;
    47         class BOOST_NOWIDE_DECL winconsole_istream : 
public std::istream {
    48             winconsole_istream(winconsole_istream 
const &);
    49             void operator=(winconsole_istream 
const &);
    53             ~winconsole_istream();
    56             boost::scoped_ptr<console_input_buffer> d;
    67     extern BOOST_NOWIDE_DECL details::winconsole_istream 
cin;
    73     extern BOOST_NOWIDE_DECL details::winconsole_ostream 
cout;
    79     extern BOOST_NOWIDE_DECL details::winconsole_ostream 
cerr;
    85     extern BOOST_NOWIDE_DECL details::winconsole_ostream 
clog;
 
details::winconsole_ostream cout
Same as std::cout, but uses UTF-8. 
 
details::winconsole_ostream clog
Same as std::clog, but uses UTF-8. 
 
details::winconsole_istream cin
Same as std::cin, but uses UTF-8. 
 
details::winconsole_ostream cerr
Same as std::cerr, but uses UTF-8.