// Accessors
GrpIterator FindGrp(const string &Name);
- PkgIterator FindPkg(const string &Name, string Arch = "native");
+ PkgIterator FindPkg(const string &Name);
+ PkgIterator FindPkg(const string &Name, const string &Arch);
Header &Head() {return *HeaderP;};
+ inline GrpIterator GrpBegin();
+ inline GrpIterator GrpEnd();
inline PkgIterator PkgBegin();
inline PkgIterator PkgEnd();
inline PkgFileIterator FileBegin();
inline PkgFileIterator FileEnd();
+ inline bool MultiArchCache() const { return MultiArchEnabled; };
+
// Make me a function
pkgVersioningSystem *VS;
pkgCache(MMap *Map,bool DoMap = true);
virtual ~pkgCache() {};
+
+private:
+ bool MultiArchEnabled;
+ PkgIterator SingleArchFindPkg(const string &Name);
};
/*}}}*/
// Header structure /*{{{*/
{
map_ptrloc VerStr; // Stringtable
map_ptrloc Section; // StringTable (StringItem)
- map_ptrloc Arch; // StringTable
-
+ enum {None, All, Foreign, Same, Allowed} MultiArch;
+
// Lists
map_ptrloc FileList; // VerFile
map_ptrloc NextVer; // Version
/*}}}*/
#include <apt-pkg/cacheiterators.h>
+inline pkgCache::GrpIterator pkgCache::GrpBegin()
+ {return GrpIterator(*this);};
+inline pkgCache::GrpIterator pkgCache::GrpEnd()
+ {return GrpIterator(*this,GrpP);};
inline pkgCache::PkgIterator pkgCache::PkgBegin()
{return PkgIterator(*this);};
inline pkgCache::PkgIterator pkgCache::PkgEnd()
class pkgCache::Namespace /*{{{*/
{
public:
-
+ typedef pkgCache::GrpIterator GrpIterator;
typedef pkgCache::PkgIterator PkgIterator;
typedef pkgCache::VerIterator VerIterator;
typedef pkgCache::DescIterator DescIterator;