]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/algorithms.h
do not segfault in cache generation on mmap failure
[apt.git] / apt-pkg / algorithms.h
index b6da1f2bf8f3f48e19821f3233c5cf6e5f4a89c8..77a39b4151b810ac21ca3384aaa2d2ff38569911 100644 (file)
@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: algorithms.h,v 1.10 2001/05/22 04:17:41 jgg Exp $
 /* ######################################################################
 
    Algorithms - A set of misc algorithms
@@ -55,6 +54,7 @@ using std::ostream;
 
 class pkgSimulate : public pkgPackageManager                           /*{{{*/
 {
+   void * const d;
    protected:
 
    class Policy : public pkgDepCache::Policy
@@ -62,12 +62,12 @@ class pkgSimulate : public pkgPackageManager                                /*{{{*/
       pkgDepCache *Cache;
       public:
       
-      virtual VerIterator GetCandidateVer(PkgIterator const &Pkg)
+      virtual VerIterator GetCandidateVer(PkgIterator const &Pkg) APT_OVERRIDE
       {
         return (*Cache)[Pkg].CandidateVerIter(*Cache);
       }
       
-      Policy(pkgDepCache *Cache) : Cache(Cache) {};
+      explicit Policy(pkgDepCache *Cache) : Cache(Cache) {};
    };
    
    unsigned char *Flags;
@@ -77,9 +77,9 @@ class pkgSimulate : public pkgPackageManager                          /*{{{*/
    pkgDepCache::ActionGroup group;
    
    // The Actuall installation implementation
-   virtual bool Install(PkgIterator Pkg,std::string File);
-   virtual bool Configure(PkgIterator Pkg);
-   virtual bool Remove(PkgIterator Pkg,bool Purge);
+   virtual bool Install(PkgIterator Pkg,std::string File) APT_OVERRIDE;
+   virtual bool Configure(PkgIterator Pkg) APT_OVERRIDE;
+   virtual bool Remove(PkgIterator Pkg,bool Purge) APT_OVERRIDE;
 
 private:
    APT_HIDDEN void ShortBreaks();
@@ -87,15 +87,15 @@ private:
 
    public:
 
-   pkgSimulate(pkgDepCache *Cache);
-   ~pkgSimulate();
+   explicit pkgSimulate(pkgDepCache *Cache);
+   virtual ~pkgSimulate();
 };
                                                                        /*}}}*/
 class pkgProblemResolver                                               /*{{{*/
 {
  private:
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    pkgDepCache &Cache;
    typedef pkgCache::PkgIterator PkgIterator;
@@ -113,8 +113,7 @@ class pkgProblemResolver                                            /*{{{*/
    bool Debug;
    
    // Sort stuff
-   static pkgProblemResolver *This;
-   APT_HIDDEN static int ScoreSort(const void *a,const void *b) APT_PURE;
+   APT_HIDDEN int ScoreSort(Package const *A, Package const *B) APT_PURE;
 
    struct PackageKill
    {
@@ -145,8 +144,8 @@ class pkgProblemResolver                                            /*{{{*/
 
    APT_DEPRECATED void InstallProtect();
 
-   pkgProblemResolver(pkgDepCache *Cache);
-   ~pkgProblemResolver();
+   explicit pkgProblemResolver(pkgDepCache *Cache);
+   virtual ~pkgProblemResolver();
 };
                                                                        /*}}}*/
 bool pkgApplyStatus(pkgDepCache &Cache);