%rename("str") __str__;
#endif
const char *__str__() {
- Id type, source, target, dep;
- Id r = solver_findproblemrule($self->solv, $self->id);
- if (!r)
- return "";
- type = solver_ruleinfo($self->solv, r, &source, &target, &dep);
- return solver_problemruleinfo2str($self->solv, type, source, target, dep);
+ return solver_problem2str($self->solv, $self->id);
}
}
solver_printsolution;
solver_printtrivial;
solver_printwatches;
+ solver_problem2str;
solver_problem_count;
solver_problemruleinfo2str;
solver_rule2job;
}
}
+/* convenience function */
+const char *
+solver_problem2str(Solver *solv, Id problem)
+{
+ Id type, source, target, dep;
+ Id r = solver_findproblemrule(solv, problem);
+ if (!r)
+ return "no problem rule?";
+ type = solver_ruleinfo(solv, r, &source, &target, &dep);
+ return solver_problemruleinfo2str(solv, type, source, target, dep);
+}
+
const char *
solver_solutionelement2str(Solver *solv, Id p, Id rp)
{
void solver_findallproblemrules(struct _Solver *solv, Id problem, Queue *rules);
extern const char *solver_problemruleinfo2str(struct _Solver *solv, SolverRuleinfo type, Id source, Id target, Id dep);
+extern const char *solver_problem2str(struct _Solver *solv, Id problem);
extern const char *solver_solutionelement2str(struct _Solver *solv, Id p, Id rp);
#ifdef __cplusplus