#include <iostream.h>

| Public Member Functions | |
| scoped_ostream_redirect & | operator= (const scoped_ostream_redirect &)=delete | 
| scoped_ostream_redirect & | operator= (scoped_ostream_redirect &&)=delete | 
| scoped_ostream_redirect (const scoped_ostream_redirect &)=delete | |
| scoped_ostream_redirect (scoped_ostream_redirect &&other)=default | |
| scoped_ostream_redirect (std::ostream &costream=std::cout, const object &pyostream=module_::import("sys").attr("stdout")) | |
| ~scoped_ostream_redirect () | |
| Protected Attributes | |
| detail::pythonbuf | buffer | 
| std::ostream & | costream | 
| std::streambuf * | old | 
\rst This a move-only guard that redirects output.
.. code-block:: cpp
#include <pybind11/iostream.h>
...
{
    py::scoped_ostream_redirect output;
    std::cout << "Hello, World!"; // Python stdout
} // <-- return std::cout to normal
You can explicitly pass the c++ stream and the python object, for example to guard stderr instead.
.. code-block:: cpp
{
    py::scoped_ostream_redirect output{
        std::cerr, py::module::import("sys").attr("stderr")};
    std::cout << "Hello, World!";
}
\endrst
Definition at line 159 of file iostream.h.
| 
 | inlineexplicit | 
Definition at line 166 of file iostream.h.
| 
 | inline | 
Definition at line 173 of file iostream.h.
| 
 | delete | 
| 
 | default | 
| 
 | delete | 
| 
 | delete | 
| 
 | protected | 
Definition at line 163 of file iostream.h.
| 
 | protected | 
Definition at line 162 of file iostream.h.
| 
 | protected | 
Definition at line 161 of file iostream.h.