diff --git a/eo/src/gp/eoParseTree.h b/eo/src/gp/eoParseTree.h index 56199dc1..6615b4ed 100644 --- a/eo/src/gp/eoParseTree.h +++ b/eo/src/gp/eoParseTree.h @@ -66,13 +66,14 @@ public : /** * Default Constructor */ - eoParseTree(void) {} + eoParseTree(void) : EO() {} /** * Copy Constructor * @param tree The tree to copy */ - eoParseTree(const parse_tree& tree) : parse_tree(tree) {} + eoParseTree(const parse_tree& tree) : EO(), parse_tree(tree) {} + eoParseTree(const eoParseTree& tree) : EO(), parse_tree(tree) {} /** * To prune me to a certain size * @param _size My maximum size @@ -107,8 +108,15 @@ public : */ void printOn(std::ostream& os) const { + cerr << "in eoParseTree<...>::printOn(...) " << endl; + + EO::printOn(os); + /* + * old code which caused problems for paradisEO + * now we use EO::readFrom(is) + * os << fitness() << ' '; - + */ std::copy(ebegin(), eend(), ostream_iterator(os)); } @@ -118,11 +126,18 @@ public : */ void readFrom(std::istream& is) { - FType fit; - + EO::readFrom(is); + + + /* + * old code which caused problems for paradisEO + * now we use EO::readFrom(is) + * + FType fit; is >> fit; fitness(fit); + */ std::copy(istream_iterator(is), istream_iterator(), back_inserter(*this)); } @@ -132,6 +147,7 @@ public : template std::ostream& operator<<(std::ostream& os, const eoParseTree& eot) { + cerr << "in operator<<(ostream, eoParseTree<...>)" << endl; eot.printOn(os); return os; }