diff --git a/edo/src/edoRepairerDispatcher.h b/edo/src/edoRepairerDispatcher.h index 117e8dfb..1bf9cb39 100644 --- a/edo/src/edoRepairerDispatcher.h +++ b/edo/src/edoRepairerDispatcher.h @@ -131,6 +131,7 @@ public: { // std::cout << "in dispatcher, sol = " << sol << std::endl; + // iterate over { indexe, repairer } // ipair is an iterator that points on a pair of for( typename edoRepairerDispatcher::iterator ipair = this->begin(); ipair != this->end(); ++ipair ) { @@ -140,6 +141,8 @@ public: EOT partsol; // std::cout << "\tusing indexes = "; +// + // iterate over indexes // j is an iterator that points on an uint for( std::vector< unsigned int >::iterator j = ipair->first.begin(); j != ipair->first.end(); ++j ) { @@ -151,6 +154,9 @@ public: // std::cout << std::endl; // std::cout << "\tpartial sol = " << partsol << std::endl; + if( partsol.size() == 0 ) { + continue; + } assert( partsol.size() > 0 ); // apply the repairer on the partial copy