diff --git a/eo/src/gp/eoParseTree.h b/eo/src/gp/eoParseTree.h index 2a7f5571..de438f6f 100644 --- a/eo/src/gp/eoParseTree.h +++ b/eo/src/gp/eoParseTree.h @@ -83,22 +83,27 @@ class eoGpDepthInitializer : public eoInit< eoParseTree > eoGpDepthInitializer( unsigned _max_depth, const vector& _initializor, - bool _grow = true) + bool _grow = true) : eoInit(), max_depth(_max_depth), initializor(_initializor), - grow(_grow) - {} + grow(_grow) + { + if(initializor.empty()) + { + throw logic_error("eoGpDepthInitializer: uhm, wouldn't you rather give a non-empty set of Nodes?"); + } + } virtual string className() const { return "eoDepthInitializer"; }; void operator()(EoType& _tree) { list sequence; - + generate(sequence, max_depth); - + parse_tree tmp(sequence.begin(), sequence.end()); _tree.swap(tmp); }