Widget* WidgetLoader::createWidget(const std::string& name) { if (getFactories().find(name) == getFactories().end()) { return 0; } Widget* widget = getFactories()[name](); return widget; }
ComplexNetworkConstructor ConfigFileParser::getConstructor(FeaturesComplexNetwork &cn) { if (coocurrenceCreated) return ComplexNetworkConstructor(cn, *getTrainDatabaseReader(), getFactories(), coocurrenceCreated); QString coocurrenceEqn = settings.value("constructor_general/coocurrence_equation").toString().toLower(); if (coocurrenceEqn == "add") { coocurrenceCreated = new AddOneCoOcurrenceEquation(); } else if (coocurrenceEqn == "reinforcement") { float learningRate = settings.value("constructor/reinforcement/learningRate").toFloat(); float lambda = settings.value("constructor/reinforcement/lambda").toFloat(); coocurrenceCreated = new ReinforcementCoOcurrenceEquation(learningRate, lambda); } return ComplexNetworkConstructor(cn, *getTrainDatabaseReader(), getFactories(), coocurrenceCreated); }
int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); QCommandLineParser p; configureParse(p,app); try{ FeaturesComplexNetwork cn1; FeaturesComplexNetwork cn2; auto f = getFactories(p); cn1.load(p.positionalArguments()[0].toStdString().c_str(), f); cn2.load(p.positionalArguments()[1].toStdString().c_str(), f); if(compareCn(cn1, cn2, p.isSet("t")) == 0){ puts("Equals"); }else{ puts("Differents"); } clearFactories(f); }catch (std::exception *e){ puts(e->what()); } return 0; }
void WidgetLoader::removeAllWidgetFactories() { WidgetFactoryMap& factoryMap(getFactories()); /* for (WidgetFactoryMap::iterator I = factoryMap.begin(); I != factoryMap.end(); ++I) { delete I->second; }*/ factoryMap.clear(); }
void WidgetLoader::removeAllWidgetFactories() { std::map<std::string, FactoryFunc>& factoryMap(getFactories()); /* for (WidgetFactoryMap::iterator I = factoryMap.begin(); I != factoryMap.end(); ++I) { delete I->second; }*/ factoryMap.clear(); }
void WidgetLoader::registerWidgetFactory(const std::string& name, FactoryFunc functor) { getFactories().insert(WidgetFactoryMap::value_type(name, functor)); }
void ConfigFileParser::getComplexNetwork(FeaturesComplexNetwork &cn) { if (cnLoaded()) { QString path = settings.value("FeaturesComplexNetwork/file").toString(); cn.load(path.toStdString().c_str(), getFactories()); } }
WidgetLoader::WidgetLoader(const std::string& name, FactoryFunc functor) { getFactories().insert(std::make_pair(name, functor)); }