diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2023-01-16 13:14:36 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2023-01-16 16:22:15 +0300 |
commit | c7e76c23b49c423f352b283c7afba248b4ce77e9 (patch) | |
tree | 1e86f35da34d06ee8b368f1d1bc1c13c9f102f70 /bpkg/package-query.hxx | |
parent | 88e0a4a8eae6a7119fa36284a3a68f1c192e5d0c (diff) |
Add find_available_all()
Diffstat (limited to 'bpkg/package-query.hxx')
-rw-r--r-- | bpkg/package-query.hxx | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/bpkg/package-query.hxx b/bpkg/package-query.hxx index ebe92ac..1919058 100644 --- a/bpkg/package-query.hxx +++ b/bpkg/package-query.hxx @@ -75,8 +75,8 @@ namespace bpkg // Try to find packages that optionally satisfy the specified version // constraint in multiple databases, suppressing duplicates. Return the list // of packages and repository fragments in which each was found in the - // package version descending or empty list if none were found. Note that a - // stub satisfies any constraint. + // package version descending order or empty list if none were found. Note + // that a stub satisfies any constraint. // // Note that we return (loaded) lazy_shared_ptr in order to also convey // the database to which it belongs. @@ -173,6 +173,21 @@ namespace bpkg database&, const shared_ptr<selected_package>&); + // Try to find packages in multiple databases, traversing the explicitly and + // implicitly linked databases recursively and suppressing duplicates and, + // optionally, older package revisions. Return the list of packages and + // repository fragments in which each was found in the package version + // descending order or empty list if none were found. + // + // Note that we return (loaded) lazy_shared_ptr in order to also convey + // the database to which it belongs. + // + vector<pair<shared_ptr<available_package>, + lazy_shared_ptr<repository_fragment>>> + find_available_all (const linked_databases&, + const package_name&, + bool suppress_older_revisions = true); + // Create a transient (or fake, if you prefer) available_package object // corresponding to the specified selected object. Note that the package // locations list is left empty and that the returned repository fragment |