From 49345675d63a9717744792a1cd07c6aa5f294635 Mon Sep 17 00:00:00 2001
From: Stephane Del Pino <stephane.delpino44@gmail.com>
Date: Fri, 21 Sep 2018 12:20:51 +0200
Subject: [PATCH] Add possibility to silent outputs or to redirect them

This is made in view of parallelism. One will be able to silent processors
or/and produce file output
---
 src/utils/PastisOStream.cpp | 8 ++++++++
 src/utils/PastisOStream.hpp | 4 ++++
 2 files changed, 12 insertions(+)

diff --git a/src/utils/PastisOStream.cpp b/src/utils/PastisOStream.cpp
index a7276b868..19277e562 100644
--- a/src/utils/PastisOStream.cpp
+++ b/src/utils/PastisOStream.cpp
@@ -1,4 +1,12 @@
 #include <PastisOStream.hpp>
 
+#include <sstream>
+#include <iomanip>
+
 PastisOStream pout(std::cout);
 PastisOStream perr(std::cerr);
+
+std::stringstream null_stream;
+const PastisOStream _null_stream_initializer(*[](std::stringstream& null_stream){
+                                                null_stream.setstate(std::ios::badbit);
+                                                return &null_stream;}(null_stream));
diff --git a/src/utils/PastisOStream.hpp b/src/utils/PastisOStream.hpp
index 6d8ec8307..360313be2 100644
--- a/src/utils/PastisOStream.hpp
+++ b/src/utils/PastisOStream.hpp
@@ -3,6 +3,9 @@
 
 #include <PastisMacros.hpp>
 #include <iostream>
+#include <sstream>
+
+extern std::stringstream null_stream;
 
 class PastisOStream
 {
@@ -37,5 +40,6 @@ class PastisOStream
 
 extern PastisOStream pout;
 extern PastisOStream perr;
+extern const PastisOStream _null_stream_initializer;
 
 #endif // PASTIS_OSTREAM_HPP
-- 
GitLab