diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2010-07-09 19:51:19 +0200 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2010-07-09 19:51:19 +0200 |
commit | 7635093c1c015e385a9e72bdd8a089fd9d48ab57 (patch) | |
tree | 6d6e0ce5f09b20ee191b66da12f7bf2667c679d1 /apt-pkg | |
parent | dcdf1ef18b37c243fc707869149f7761d964915c (diff) |
switch from std::set to std::vector as it is way more simple, a bit
faster and still provides everything we need for the Cache generator
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/pkgcachegen.cc | 16 | ||||
-rw-r--r-- | apt-pkg/pkgcachegen.h | 12 |
2 files changed, 13 insertions, 15 deletions
diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc index 7ca8fbfda..1175d5129 100644 --- a/apt-pkg/pkgcachegen.cc +++ b/apt-pkg/pkgcachegen.cc @@ -36,7 +36,7 @@ #include <stdio.h> /*}}}*/ typedef vector<pkgIndexFile *>::iterator FileIterator; -template <typename Iter> std::set<Iter*> pkgCacheGenerator::Dynamic<Iter>::toReMap; +template <typename Iter> std::vector<Iter*> pkgCacheGenerator::Dynamic<Iter>::toReMap(6); // CacheGenerator::pkgCacheGenerator - Constructor /*{{{*/ // --------------------------------------------------------------------- @@ -113,25 +113,25 @@ void pkgCacheGenerator::ReMap(void const * const oldMap, void const * const newM if (UniqHash[i] != 0) UniqHash[i] += (pkgCache::StringItem*) newMap - (pkgCache::StringItem*) oldMap; - for (std::set<pkgCache::GrpIterator*>::const_iterator i = Dynamic<pkgCache::GrpIterator>::toReMap.begin(); + for (std::vector<pkgCache::GrpIterator*>::const_iterator i = Dynamic<pkgCache::GrpIterator>::toReMap.begin(); i != Dynamic<pkgCache::GrpIterator>::toReMap.end(); ++i) (*i)->ReOwn(Cache, oldMap, newMap); - for (std::set<pkgCache::PkgIterator*>::const_iterator i = Dynamic<pkgCache::PkgIterator>::toReMap.begin(); + for (std::vector<pkgCache::PkgIterator*>::const_iterator i = Dynamic<pkgCache::PkgIterator>::toReMap.begin(); i != Dynamic<pkgCache::PkgIterator>::toReMap.end(); ++i) (*i)->ReOwn(Cache, oldMap, newMap); - for (std::set<pkgCache::VerIterator*>::const_iterator i = Dynamic<pkgCache::VerIterator>::toReMap.begin(); + for (std::vector<pkgCache::VerIterator*>::const_iterator i = Dynamic<pkgCache::VerIterator>::toReMap.begin(); i != Dynamic<pkgCache::VerIterator>::toReMap.end(); ++i) (*i)->ReOwn(Cache, oldMap, newMap); - for (std::set<pkgCache::DepIterator*>::const_iterator i = Dynamic<pkgCache::DepIterator>::toReMap.begin(); + for (std::vector<pkgCache::DepIterator*>::const_iterator i = Dynamic<pkgCache::DepIterator>::toReMap.begin(); i != Dynamic<pkgCache::DepIterator>::toReMap.end(); ++i) (*i)->ReOwn(Cache, oldMap, newMap); - for (std::set<pkgCache::DescIterator*>::const_iterator i = Dynamic<pkgCache::DescIterator>::toReMap.begin(); + for (std::vector<pkgCache::DescIterator*>::const_iterator i = Dynamic<pkgCache::DescIterator>::toReMap.begin(); i != Dynamic<pkgCache::DescIterator>::toReMap.end(); ++i) (*i)->ReOwn(Cache, oldMap, newMap); - for (std::set<pkgCache::PrvIterator*>::const_iterator i = Dynamic<pkgCache::PrvIterator>::toReMap.begin(); + for (std::vector<pkgCache::PrvIterator*>::const_iterator i = Dynamic<pkgCache::PrvIterator>::toReMap.begin(); i != Dynamic<pkgCache::PrvIterator>::toReMap.end(); ++i) (*i)->ReOwn(Cache, oldMap, newMap); - for (std::set<pkgCache::PkgFileIterator*>::const_iterator i = Dynamic<pkgCache::PkgFileIterator>::toReMap.begin(); + for (std::vector<pkgCache::PkgFileIterator*>::const_iterator i = Dynamic<pkgCache::PkgFileIterator>::toReMap.begin(); i != Dynamic<pkgCache::PkgFileIterator>::toReMap.end(); ++i) (*i)->ReOwn(Cache, oldMap, newMap); } /*}}}*/ diff --git a/apt-pkg/pkgcachegen.h b/apt-pkg/pkgcachegen.h index 20dd28030..ff198833a 100644 --- a/apt-pkg/pkgcachegen.h +++ b/apt-pkg/pkgcachegen.h @@ -23,7 +23,7 @@ #include <apt-pkg/pkgcache.h> #include <apt-pkg/md5.h> -#include <set> +#include <vector> class pkgSourceList; class OpProgress; @@ -46,16 +46,14 @@ class pkgCacheGenerator /*{{{*/ friend class ListParser; template<typename Iter> class Dynamic { - Iter *I; - public: - static std::set<Iter*> toReMap; - Dynamic(Iter &It) : I(&It) { - toReMap.insert(I); + static std::vector<Iter*> toReMap; + Dynamic(Iter &I) { + toReMap.push_back(&I); } ~Dynamic() { - toReMap.erase(I); + toReMap.pop_back(); } }; |