Просмотр исходного кода

do not insert end() Iterators into the CacheSet even if requested

David Kalnischkies лет назад: 16
Родитель
Сommit
c45f2d1995
1 измененных файлов с 6 добавлено и 0 удалено
  1. 6 0
      apt-pkg/cacheset.h

+ 6 - 0
apt-pkg/cacheset.h

@@ -61,6 +61,9 @@ public:									/*{{{*/
 	// 103. set::iterator is required to be modifiable, but this allows modification of keys
 	typedef typename APT::PackageSet::const_iterator iterator;
 
+	using std::set<pkgCache::PkgIterator>::insert;
+	inline void insert(pkgCache::PkgIterator const &P) { if (P.end() == false) std::set<pkgCache::PkgIterator>::insert(P); };
+
 	/** \brief returns all packages in the cache whose name matchs a given pattern
 
 	    A simple helper responsible for executing a regular expression on all
@@ -145,6 +148,9 @@ public:									/*{{{*/
 	// 103. set::iterator is required to be modifiable, but this allows modification of keys
 	typedef typename APT::VersionSet::const_iterator iterator;
 
+	using std::set<pkgCache::VerIterator>::insert;
+	inline void insert(pkgCache::VerIterator const &V) { if (V.end() == false) std::set<pkgCache::VerIterator>::insert(V); };
+
 	/** \brief specifies which version(s) will be returned if non is given */
 	enum Version {
 		/** All versions */