From ee995fd5355e77f1c7b9bafe218fe3cfbdf30006 Mon Sep 17 00:00:00 2001
From: "Praetorius, Simon" <simon.praetorius@tu-dresden.de>
Date: Wed, 21 Aug 2019 15:11:38 +0200
Subject: [PATCH] Revert "added vtksequencewriter"

This reverts commit 6215538105cef29b780b64366ab92f97d6b654a8.
---
 src/amdis/Output.hpp | 91 ++++++++++++++++++++++++++------------------
 1 file changed, 55 insertions(+), 36 deletions(-)

diff --git a/src/amdis/Output.hpp b/src/amdis/Output.hpp
index 91264e57..159352a0 100644
--- a/src/amdis/Output.hpp
+++ b/src/amdis/Output.hpp
@@ -14,14 +14,11 @@
   #include <stdexcept>
 #endif
 
-#ifdef HAVE_MPI
-  #include <mpi.h>
-#endif
-
 /// Use the formatting librart fmtlib::fmt
 #include <fmt/core.h>
 #include <fmt/ostream.h>
 
+#include <amdis/Environment.hpp>
 #include <amdis/common/TypeTraits.hpp>
 
 /**
@@ -41,6 +38,11 @@
   #endif
 #endif
 
+/// Level bound for output of additional information. See \ref info() and \ref info_()
+#ifndef AMDIS_INFO_LEVEL
+  #define AMDIS_INFO_LEVEL 1
+#endif
+
 #define AMDIS_UNUSED(var) __attribute__((unused)) var
 
 #define AMDIS_FUNCNAME(nn) AMDIS_UNUSED(const char *funcName); funcName = nn;
@@ -59,23 +61,27 @@ namespace AMDiS
   namespace Impl
   {
     template <class OStream, class... Args>
-    OStream& msg(OStream& out, Args&&... args)
+    OStream& msg_all(OStream& out, std::string const& str, Args&&... args)
+    {
+      if (Environment::mpiSize() > 1)
+        fmt::print(out, "[" + std::to_string(Environment::mpiRank()) + "]  " + str, FWD(args)...);
+      else
+        fmt::print(out, str, FWD(args)...);
+      return out;
+    }
+
+    template <class OStream, class... Args>
+    OStream& msg(OStream& out, std::string const& str, Args&&... args)
     {
-#ifdef AMDIS_HAS_MPI
-      int rank = -1;
-      int num_ranks = -1;
-      MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-      MPI_Comm_size(MPI_COMM_WORLD, &num_ranks);
-      if (num_ranks > 1 && rank == 0) {
-        out << "[0] ";
-        fmt::print(out, FWD(args)...);
-      } else if (num_ranks == 1) {
-        fmt::print(out, FWD(args)...);
-      }
+#ifdef AMDIS_MSG_ALL_RANKS
+      return msg_all(out, str, FWD(args)...);
 #else
-      fmt::print(out, FWD(args)...);
-#endif
+      if (Environment::mpiSize() > 1 && Environment::mpiRank() == 0)
+        fmt::print(out, "[0]  " + str, FWD(args)...);
+      else if (Environment::mpiSize() == 1)
+        fmt::print(out, str, FWD(args)...);
       return out;
+#endif
     }
 
   } // end namespace Impl
@@ -89,9 +95,17 @@ namespace AMDiS
    * ```
    **/
   template <class... Args>
-  void msg(Args&&... args)
+  void msg(std::string const& str, Args&&... args)
+  {
+    Impl::msg(std::cout, str + "\n", FWD(args)...);
+  }
+
+  /// prints a message, if Environment::infoLevel() >= noInfoLevel
+  template <class... Args>
+  void info(int noInfoLevel, std::string const& str, Args&&... args)
   {
-    Impl::msg(std::cout, FWD(args)...) << std::endl;
+    if (int(AMDIS_INFO_LEVEL) >= noInfoLevel)
+      Impl::msg(std::cout, str + "\n", FWD(args)...);
   }
 
 
@@ -103,11 +117,20 @@ namespace AMDiS
    * ```
    **/
   template <class... Args>
-  void msg_(Args&&... args)
+  void msg_(std::string const& str, Args&&... args)
   {
-    Impl::msg(std::cout, FWD(args)...);
+    Impl::msg(std::cout, str, FWD(args)...);
   }
 
+  /// prints a message, if Environment::infoLevel() >= noInfoLevel
+  template <class... Args>
+  void info_(int noInfoLevel, std::string const& str, Args&&... args)
+  {
+    if (int(AMDIS_INFO_LEVEL) >= noInfoLevel)
+      Impl::msg(std::cout, str, FWD(args)...);
+  }
+
+
 
   /// \brief print a message and exit
   /**
@@ -116,17 +139,13 @@ namespace AMDiS
    * type \ref std::runtime_Error is thrown.
    **/
   template <class... Args>
-  void error_exit(Args&&... args)
+  void error_exit(std::string const& str, Args&&... args)
   {
 #ifdef AMDIS_NO_THROW
-    Impl::msg(std::cerr << "ERROR: ", FWD(args)...) << std::endl;
-    #ifndef NDEBUG
-      assert(false);
-    #else
-      std::exit(EXIT_FAILURE);
-    #endif
+    Impl::msg_all(std::cerr, "ERROR: " + str + "\n", FWD(args)...);
+    std::abort();
 #else
-    throw std::runtime_error( std::string("ERROR: ") + fmt::format(FWD(args)...));
+    throw std::runtime_error( std::string("ERROR: ") + fmt::format(str, FWD(args)...));
 #endif
   }
 
@@ -141,16 +160,16 @@ namespace AMDiS
    * \p condition argument.
    **/
   template <class... Args>
-  void test_exit(bool condition, Args&&... args)
+  void test_exit(bool condition, std::string const& str, Args&&... args)
   {
-    if (!condition) { error_exit(FWD(args)...); }
+    if (!condition) { error_exit(str, FWD(args)...); }
   }
 
 
   template <class... Args>
-  void warning(Args&&... args)
+  void warning(std::string const& str, Args&&... args)
   {
-    Impl::msg(std::cout << "WARNING: ", FWD(args)...) << std::endl;
+    Impl::msg(std::cout, "WARNING: " + str + "\n", FWD(args)...);
   }
 
 
@@ -161,9 +180,9 @@ namespace AMDiS
    * string "WARNING".
    **/
   template <class... Args>
-  void test_warning(bool condition, Args&&... args)
+  void test_warning(bool condition, std::string const& str, Args&&... args)
   {
-    if (!condition) { warning(FWD(args)...); }
+    if (!condition) { warning(str, FWD(args)...); }
   }
 
 
-- 
GitLab