]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/cacheiterators.h
releasing version 0.7.26~exp4
[apt.git] / apt-pkg / cacheiterators.h
index 33d2ed6be655f21a4345a6cad340a64398d4a57e..e2ca746838ce075977406c5d669607efc39504f7 100644 (file)
@@ -62,6 +62,7 @@ template<typename Str, typename Itr> class pkgCache::Iterator {
        inline Str const *operator ->() const {return S;};
        inline operator Str *() {return S == OwnerPointer() ? 0 : S;};
        inline operator Str const *() const {return S == OwnerPointer() ? 0 : S;};
+       inline Str &operator *() {return *S;};
        inline Str const &operator *() const {return *S;};
        inline pkgCache *Cache() {return Owner;};
 
@@ -151,6 +152,7 @@ class pkgCache::PkgIterator: public Iterator<Package, PkgIterator> {
 
        //Nice printable representation
        friend std::ostream& operator <<(std::ostream& out, PkgIterator i);
+       std::string FullName(bool const &Pretty = false) const;
 
        // Constructors
        inline PkgIterator(pkgCache &Owner,Package *Trg) : Iterator<Package, PkgIterator>(Owner, Trg), HashIndex(0) {
@@ -178,7 +180,16 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> {
        // Accessors
        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->Arch == 0?0:Owner->StrP + S->Arch;};
+       inline const char *Arch() const {
+               if(S->MultiArch == pkgCache::Version::All)
+                       return "all";
+               return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;
+       };
+       inline const char *Arch(bool const pseudo) const {
+               if(pseudo == false)
+                       return Arch();
+               return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;
+       };
        inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);};
 
        inline DescIterator DescriptionList() const;
@@ -191,6 +202,7 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> {
        string RelStr();
 
        bool Automatic() const;
+       bool Pseudo() const;
        VerFileIterator NewestFile() const;
 
        inline VerIterator(pkgCache &Owner,Version *Trg = 0) : Iterator<Version, VerIterator>(Owner, Trg) {
@@ -334,7 +346,8 @@ class pkgCache::PkgFileIterator : public Iterator<PackageFile, PkgFileIterator>
 
        // Constructors
        inline PkgFileIterator() : Iterator<PackageFile, PkgFileIterator>() {};
-       inline PkgFileIterator(pkgCache &Owner,PackageFile *Trg = 0) : Iterator<PackageFile, PkgFileIterator>(Owner, Trg) {};
+       inline PkgFileIterator(pkgCache &Owner) : Iterator<PackageFile, PkgFileIterator>(Owner, Owner.PkgFileP) {};
+       inline PkgFileIterator(pkgCache &Owner,PackageFile *Trg) : Iterator<PackageFile, PkgFileIterator>(Owner, Trg) {};
 };
                                                                        /*}}}*/
 // Version File                                                                /*{{{*/