    #include "@this.name@.h"

    @this.name@::~@this.name@() {}

    bool @this.name@::start() const {
        return @this.start@;
    }

    int @this.name@::executeRules() {
        int iTriggeredRules = 0;
        if (bActive_) {
    @
    foreach i in this.rules {
        @        if (executeRule@i.key()@()) ++iTriggeredRules;
    @
    }
    setProtectedArea("Post Processing, to handle by hand!");
    @    }
        return iTriggeredRules;
    }

    @

    #include "TrafficLight-sharedFunctions.cws"

    foreach i in this.rules {
        @bool @this.name@::executeRule@i.key()@() {
        if (!bActive_ || (@convertAntecedent2Cpp(i.condition)@ == false)) return false;
    @
        foreach j in i.actions {
            writeAction<j>(j, "C++");
        }
        @    return true;
    }

    @
    }

Generated by CodeWorker v3.11.0.1 from CWscript2HTML.cwp.