Example #1
0
void EnumLoop::__repeatImpl(LoopFunction* func)
{
    ParametersMap* parametersMap = func->getParameters();
    tCurrentBranch = 0;
    for (tIndex = 0; tIndex < tValueVector.size(); ++tIndex) {
        parametersMap->putNumber(tKey, tValueVector[tIndex]);
        this->__repeatBase(func);
    }
}
Example #2
0
void ExpLoop::__repeatImpl(LoopFunction* func)
{
    ParametersMap* parametersMap = func->getParameters();
    tCurrentBranch = 0;
    for (tValue = tMin; tValue < tMax; tValue *= tFactor) {
        parametersMap->putNumber(tKey, tValue);
        this->__repeatBase(func);
    }
}
Example #3
0
void JoinEnumLoop::__repeatImpl(LoopFunction* func)
{
    ParametersMap* parametersMap = func->getParameters();
    tCurrentBranch = 0;

    for (tIndex = 0; tIndex < tValueVector.size(); ++tIndex) {

        parametersMap->putNumber(tKey, tValueVector[tIndex]);

        Loop* currentLoop = tInnerLoops[tIndex];
        if (currentLoop != NULL){
            currentLoop->setCallerLoop(this);
            currentLoop->__repeatImpl(func);
        } else if (tInnerLoop != NULL) {
            tInnerLoop->setCallerLoop(this);
            tInnerLoop->__repeatImpl(func);
        } else {
            func->execute(this);
        }
        // It will not call to Loop::repeat__Base
        ++tCurrentBranch;
    }
}