ECF 1.5
TermMaxGenOp.cpp
1#include "ECF_base.h"
2#include "TermMaxGenOp.h"
3
4
6{
7 uint *maxgen = new uint(0);
8 state->getRegistry()->registerEntry("term.maxgen", (voidP) maxgen, ECF::UINT,
9 "max number of generations (default: none)");
10}
11
12
13bool TermMaxGenOp::initialize(StateP state)
14{
15 voidP sptr = state->getRegistry()->getEntry("term.maxgen");
16 nGenerations_ = *((uint*) sptr.get());
17
18 if(state->getRegistry()->isModified("term.maxgen"))
19 return true;
20
21 return false;
22}
23
24
25bool TermMaxGenOp::operate(StateP state)
26{
27 if(state->getGenerationNo() >= nGenerations_) {
28 state->setTerminateCond();
29 ECF_LOG(state, 1, "Termination: max generation reached (" + uint2str(nGenerations_) + ")");
30 }
31
32 return true;
33}
bool operate(StateP)
perform the designated operation
bool initialize(StateP)
Perform initialization. Called before Operator::operate. By default, if the return value is false,...
void registerParameters(StateP)
Register parameters with the Registry. Called before Operator::initialize.
Definition: TermMaxGenOp.cpp:5