std::unique_ptr<Solver> AspFactory::newSolver(const Decomposition& decomposition) const { if(optDefaultJoin.isUsed() && decomposition.isJoinNode()) return std::unique_ptr<Solver>(new DefaultJoin(decomposition, app)); else return std::unique_ptr<Solver>(new Asp(decomposition, app, optEncodingFile.getValue(), optTables.isUsed())); }