diff options
author | David Kalnischkies <david@kalnischkies.de> | 2014-10-03 00:20:57 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2014-10-03 00:20:57 +0200 |
commit | 107d054ba954d05965f793f560468c6c453cc2a5 (patch) | |
tree | 0f6e88ec32cb5cd65c906baa0c021e800efb190e /apt-pkg/depcache.cc | |
parent | 30b45652d6b8c710e7a5e7e95cfa431a5df4462c (diff) |
implement MarkAndSweep in cc instead of header
Having it in the header exposes some implementation details, namely
private methods and will cause problems for us if we ever want to change
the actions.
Git-Dch: Ignore
Diffstat (limited to 'apt-pkg/depcache.cc')
-rw-r--r-- | apt-pkg/depcache.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 16282df21..1332f3ee2 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -1961,3 +1961,17 @@ bool pkgDepCache::Sweep() /*{{{*/ return true; } /*}}}*/ +// DepCache::MarkAndSweep /*{{{*/ +bool pkgDepCache::MarkAndSweep(InRootSetFunc &rootFunc) +{ + return MarkRequired(rootFunc) && Sweep(); +} +bool pkgDepCache::MarkAndSweep() +{ + std::auto_ptr<InRootSetFunc> f(GetRootSetFunc()); + if(f.get() != NULL) + return MarkAndSweep(*f.get()); + else + return false; +} + /*}}}*/ |