From 71a7b79f24534a816ba37a1a1d24a38f8f4dfcf6 Mon Sep 17 00:00:00 2001
From: Sebastian Eibl <sebastian.eibl@fau.de>
Date: Fri, 12 Apr 2019 10:46:41 +0200
Subject: [PATCH] added stream output to Timer

---
 src/core/timing/Timer.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/src/core/timing/Timer.h b/src/core/timing/Timer.h
index 86814b043..d3c72dfe0 100644
--- a/src/core/timing/Timer.h
+++ b/src/core/timing/Timer.h
@@ -28,6 +28,8 @@
 #include "WcPolicy.h"
 #include "core/DataTypes.h"
 
+#include <iomanip>
+#include <iostream>
 #include <limits>
 
 
@@ -442,6 +444,24 @@ inline void Timer<TP>::merge( const Timer<TP> & other )
 //**********************************************************************************************************************
 
 
+//======================================================================================================================
+//
+//  OSTREAM OVERLOAD
+//
+//======================================================================================================================
+
+template< typename TP >  // Timing policy
+std::ostream & operator<< ( std::ostream & os, const Timer<TP> & timer )
+{
+   os << std::fixed << std::setprecision(3) <<
+         "average: " << timer.average() <<
+         " | min: " << timer.min() <<
+         " | max: " << timer.max() <<
+         " | variance: " << timer.variance();
+   return os;
+}
+
+
 } // namespace timing
 
 typedef timing::Timer<timing::CpuPolicy>  CpuTimer;
-- 
GitLab