merged r1970 lp:~vorlon/apt/lp.968828
[apt.git] / apt-pkg / cacheiterators.h
index 31b3aced3b45f8212521ea2fb3d978d24997a168..d5e018be9505960ffa53a897d297d166245ac029 100644 (file)
@@ -32,6 +32,7 @@
 #include<iterator>
 
 #include<string.h>
 #include<iterator>
 
 #include<string.h>
+
 // abstract Iterator template                                          /*{{{*/
 /* This template provides the very basic iterator methods we
    need to have for doing some walk-over-the-cache magic */
 // abstract Iterator template                                          /*{{{*/
 /* This template provides the very basic iterator methods we
    need to have for doing some walk-over-the-cache magic */
@@ -111,7 +112,7 @@ class pkgCache::GrpIterator: public Iterator<Group, GrpIterator> {
 
        inline const char *Name() const {return S->Name == 0?0:Owner->StrP + S->Name;};
        inline PkgIterator PackageList() const;
 
        inline const char *Name() const {return S->Name == 0?0:Owner->StrP + S->Name;};
        inline PkgIterator PackageList() const;
-       PkgIterator FindPkg(string Arch = "any") const;
+       PkgIterator FindPkg(std::string Arch = "any") const;
        /** \brief find the package with the "best" architecture
 
            The best architecture is either the "native" or the first
        /** \brief find the package with the "best" architecture
 
            The best architecture is either the "native" or the first
@@ -206,9 +207,8 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> {
        inline const char *VerStr() const {return S->VerStr == 0?0:Owner->StrP + S->VerStr;};
        inline const char *Section() const {return S->Section == 0?0:Owner->StrP + S->Section;};
        inline const char *Arch() const {
        inline const char *VerStr() const {return S->VerStr == 0?0:Owner->StrP + S->VerStr;};
        inline const char *Section() const {return S->Section == 0?0:Owner->StrP + S->Section;};
        inline const char *Arch() const {
-               return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;
-       };
-       __deprecated inline const char *Arch(bool const pseudo) const {
+               if ((S->MultiArch & pkgCache::Version::All) == pkgCache::Version::All)
+                       return "all";
                return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;
        };
        inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);};
                return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;
        };
        inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);};
@@ -220,10 +220,9 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> {
        inline VerFileIterator FileList() const;
        bool Downloadable() const;
        inline const char *PriorityType() const {return Owner->Priority(S->Priority);};
        inline VerFileIterator FileList() const;
        bool Downloadable() const;
        inline const char *PriorityType() const {return Owner->Priority(S->Priority);};
-       string RelStr() const;
+       std::string RelStr() const;
 
        bool Automatic() const;
 
        bool Automatic() const;
-       __deprecated bool Pseudo() const;
        VerFileIterator NewestFile() const;
 
        inline VerIterator(pkgCache &Owner,Version *Trg = 0) : Iterator<Version, VerIterator>(Owner, Trg) {
        VerFileIterator NewestFile() const;
 
        inline VerIterator(pkgCache &Owner,Version *Trg = 0) : Iterator<Version, VerIterator>(Owner, Trg) {
@@ -283,6 +282,9 @@ class pkgCache::DepIterator : public Iterator<Dependency, DepIterator> {
        inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->ParentVer].ParentPkg);};
        inline bool Reverse() const {return Type == DepRev;};
        bool IsCritical() const;
        inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->ParentVer].ParentPkg);};
        inline bool Reverse() const {return Type == DepRev;};
        bool IsCritical() const;
+       bool IsNegative() const;
+       bool IsIgnorable(PrvIterator const &Prv) const;
+       bool IsIgnorable(PkgIterator const &Pkg) const;
        void GlobOr(DepIterator &Start,DepIterator &End);
        Version **AllTargets() const;
        bool SmartTargetPkg(PkgIterator &Result) const;
        void GlobOr(DepIterator &Start,DepIterator &End);
        Version **AllTargets() const;
        bool SmartTargetPkg(PkgIterator &Result) const;
@@ -366,7 +368,7 @@ class pkgCache::PkgFileIterator : public Iterator<PackageFile, PkgFileIterator>
        inline const char *IndexType() const {return S->IndexType == 0?0:Owner->StrP + S->IndexType;};
 
        bool IsOk();
        inline const char *IndexType() const {return S->IndexType == 0?0:Owner->StrP + S->IndexType;};
 
        bool IsOk();
-       string RelStr();
+       std::string RelStr();
 
        // Constructors
        inline PkgFileIterator() : Iterator<PackageFile, PkgFileIterator>() {};
 
        // Constructors
        inline PkgFileIterator() : Iterator<PackageFile, PkgFileIterator>() {};