From 34eadef7a290b22a08ad739d3a429b9696449311 Mon Sep 17 00:00:00 2001 From: nojhan Date: Fri, 9 Oct 2020 14:53:53 +0200 Subject: [PATCH] feat: add eoEvalPrint --- eo/src/eo | 1 + eo/src/eoEvalPrint.h | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 eo/src/eoEvalPrint.h diff --git a/eo/src/eo b/eo/src/eo index b77e9bf2c..55c070857 100644 --- a/eo/src/eo +++ b/eo/src/eo @@ -85,6 +85,7 @@ #include "eoEvalKeepBest.h" #include "eoEvalTimeThrowException.h" #include "eoEvalUserTimeThrowException.h" +#include "eoEvalPrint.h" // Continuators - all include eoContinue.h #include "eoCombinedContinue.h" diff --git a/eo/src/eoEvalPrint.h b/eo/src/eoEvalPrint.h new file mode 100644 index 000000000..7b151b8fc --- /dev/null +++ b/eo/src/eoEvalPrint.h @@ -0,0 +1,23 @@ + +template< class EOT> +class eoEvalPrint: public eoEvalFunc +{ + protected: + std::ostream& _out; + eoEvalFunc& _eval; + std::string _sep; + + public: + + eoEvalPrint(eoEvalFunc& eval, std::ostream& out=std::cout, std::string sep="\n") : + _out(out), + _eval(eval), + _sep(sep) + {} + + void operator()( EOT& sol ) + { + _eval(sol); + _out << sol << _sep; + } +};