summaryrefslogtreecommitdiff
path: root/apt-pkg/prettyprinters.h
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-04-28 09:22:55 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2016-04-28 10:08:32 +0200
commit84573326f41dd09b914b8374548e7ee7c93d0439 (patch)
tree3fc7af54e2322c0803495e3a79f69ab138c8f172 /apt-pkg/prettyprinters.h
parent29636cc759c6fbb92c6c462c90611eefb67cbbd4 (diff)
factor out Pkg/DepIterator prettyprinters into own header
The old prettyprinters have only access to the struct they pretty print, which isn't enough usually as we want to know for a package also a bit of state information like which version is the candidate. We therefore need to pull the DepCache into context and hence use a temporary struct which is printed instead of the iterator itself.
Diffstat (limited to 'apt-pkg/prettyprinters.h')
-rw-r--r--apt-pkg/prettyprinters.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/apt-pkg/prettyprinters.h b/apt-pkg/prettyprinters.h
new file mode 100644
index 000000000..4af0ecebd
--- /dev/null
+++ b/apt-pkg/prettyprinters.h
@@ -0,0 +1,37 @@
+#ifndef APT_PRETTYPRINTERS_H
+#define APT_PRETTYPRINTERS_H
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/macros.h>
+
+class pkgDepCache;
+
+namespace APT {
+
+/** helper to format PkgIterator for easier printing in debug messages.
+ *
+ * The actual text generated is subject to change without prior notice
+ * and should NOT be used as part of a general user interface.
+ */
+struct PrettyPkg
+{
+ pkgDepCache const * const DepCache;
+ pkgCache::PkgIterator const Pkg;
+ PrettyPkg(pkgDepCache const * const depcache, pkgCache::PkgIterator const &pkg) APT_NONNULL(2) : DepCache(depcache), Pkg(pkg) {}
+};
+/** helper to format DepIterator for easier printing in debug messages.
+ *
+ * The actual text generated is subject to change without prior notice
+ * and should NOT be used as part of a general user interface.
+ */
+struct PrettyDep
+{
+ pkgDepCache const * const DepCache;
+ pkgCache::DepIterator const Dep;
+ PrettyDep(pkgDepCache const * const depcache, pkgCache::DepIterator const &dep) APT_NONNULL(2) : DepCache(depcache), Dep(dep) {}
+};
+
+}
+std::ostream& operator<<(std::ostream& os, const APT::PrettyPkg& pp);
+std::ostream& operator<<(std::ostream& os, const APT::PrettyDep& pd);
+
+#endif