• Main Page
  • Modules
  • Classes
  • Files
  • File List

D:/Projekt/ECF_trunk/ECF/TermMaxGenOp.cpp

00001 #include "ECF_base.h"
00002 #include "TermMaxGenOp.h"
00003 
00004 
00005 void TermMaxGenOp::registerParameters(StateP state)
00006 {
00007     int *maxgen = new int(10);
00008     state->getRegistry()->registerEntry("term.maxgen", (voidP) maxgen, ECF::UINT);
00009 }
00010 
00011 
00012 bool TermMaxGenOp::initialize(StateP state)
00013 {
00014     voidP sptr = state->getRegistry()->getEntry("term.maxgen");
00015     nGenerations_ = *((uint*) sptr.get());
00016 
00017     if(state->getRegistry()->isModified("term.maxgen"))
00018         return true;
00019 
00020     return false;
00021 }
00022 
00023 
00024 bool TermMaxGenOp::operate(StateP state)
00025 {
00026     if(state->getGenerationNo() >= nGenerations_) {
00027         state->setTerminateCond();
00028         ECF_LOG(state, 1, "Termination: max generation reached (" + uint2str(nGenerations_) + ")");
00029     }
00030 
00031     return true;
00032 }

Generated on Fri Jul 5 2013 09:34:23 for ECF by  doxygen 1.7.1