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; + } +};