| 291 | |
| 292 | \endrst */ |
| 293 | inline class_<detail::OstreamRedirect> |
| 294 | add_ostream_redirect(module_ m, const std::string &name = "ostream_redirect") { |
| 295 | return class_<detail::OstreamRedirect>(std::move(m), name.c_str(), module_local()) |
| 296 | .def(init<bool, bool>(), arg("stdout") = true, arg("stderr") = true) |
| 297 | .def("__enter__", &detail::OstreamRedirect::enter) |
| 298 | .def("__exit__", [](detail::OstreamRedirect &self_, const args &) { self_.exit(); }); |
| 299 | } |
| 300 | |
| 301 | PYBIND11_NAMESPACE_END(PYBIND11_NAMESPACE) |