struct s_Repo *repo; /* repo we belong to */
/* dependencies are offsets into repo->idarraydata */
+ /* the ifdef resolves "requires" conflicting with a C++20 keyword */
+#ifdef LIBSOLV_SOLVABLE_PREPEND_DEP
+ Offset dep_provides; /* terminated with Id 0 */
+ Offset dep_obsoletes;
+ Offset dep_conflicts;
+
+ Offset dep_requires;
+ Offset dep_recommends;
+ Offset dep_suggests;
+
+ Offset dep_supplements;
+ Offset dep_enhances;
+#else
Offset provides; /* terminated with Id 0 */
Offset obsoletes;
Offset conflicts;
Offset supplements;
Offset enhances;
-
+#endif
} Solvable;
/* lookup functions */
const char *solvable_lookup_checksum(Solvable *s, Id keyname, Id *typep);
int solvable_lookup_idarray(Solvable *s, Id keyname, Queue *q);
int solvable_lookup_deparray(Solvable *s, Id keyname, Queue *q, Id marker);
+unsigned int solvable_lookup_count(Solvable *s, Id keyname); /* internal */
/* setter functions */
void solvable_set_id(Solvable *s, Id keyname, Id id);
Id solvable_selfprovidedep(Solvable *s);
int solvable_matchesdep(Solvable *s, Id keyname, Id dep, int marker);
+int solvable_matchessolvable(Solvable *s, Id keyname, Id solvid, Queue *depq, int marker);
/* internal */
-int solvable_matchessolvable_int(Solvable *s, Id keyname, int marker, Id solvid, Map *solvidmap, Queue *depq, Map *missc, int reloff);
+int solvable_matchessolvable_int(Solvable *s, Id keyname, int marker, Id solvid, Map *solvidmap, Queue *depq, Map *missc, int reloff, Queue *outdepq);
/* weird suse stuff */