close server if parsing of header field failed
[apt.git] / apt-pkg / cachefilter.h
index b4697b773d93d014b9b3b5dd87aeb9c5deed7cbf..30a3368e59df64bdca83f4bec7cff1e81c502f4e 100644 (file)
@@ -29,34 +29,34 @@ public:
 
 class PackageMatcher : public Matcher {
 public:
-   virtual bool operator() (pkgCache::PkgIterator const &Pkg) = 0;
-   virtual bool operator() (pkgCache::VerIterator const &Ver) { return (*this)(Ver.ParentPkg()); }
-   virtual bool operator() (pkgCache::GrpIterator const &/*Grp*/) { return false; }
+   virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE = 0;
+   virtual bool operator() (pkgCache::VerIterator const &Ver) APT_OVERRIDE { return (*this)(Ver.ParentPkg()); }
+   virtual bool operator() (pkgCache::GrpIterator const &/*Grp*/) APT_OVERRIDE { return false; }
    virtual ~PackageMatcher();
 };
 
 // Generica like True, False, NOT, AND, OR                             /*{{{*/
 class TrueMatcher : public Matcher {
 public:
-   virtual bool operator() (pkgCache::PkgIterator const &Pkg);
-   virtual bool operator() (pkgCache::GrpIterator const &Grp);
-   virtual bool operator() (pkgCache::VerIterator const &Ver);
+   virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::GrpIterator const &Grp) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::VerIterator const &Ver) APT_OVERRIDE;
 };
 
 class FalseMatcher : public Matcher {
 public:
-   virtual bool operator() (pkgCache::PkgIterator const &Pkg);
-   virtual bool operator() (pkgCache::GrpIterator const &Grp);
-   virtual bool operator() (pkgCache::VerIterator const &Ver);
+   virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::GrpIterator const &Grp) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::VerIterator const &Ver) APT_OVERRIDE;
 };
 
 class NOTMatcher : public Matcher {
    Matcher * const matcher;
 public:
-   NOTMatcher(Matcher * const matcher);
-   virtual bool operator() (pkgCache::PkgIterator const &Pkg);
-   virtual bool operator() (pkgCache::GrpIterator const &Grp);
-   virtual bool operator() (pkgCache::VerIterator const &Ver);
+   explicit NOTMatcher(Matcher * const matcher);
+   virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::GrpIterator const &Grp) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::VerIterator const &Ver) APT_OVERRIDE;
    virtual ~NOTMatcher();
 };
 
@@ -65,15 +65,15 @@ class ANDMatcher : public Matcher {
 public:
    // 5 ought to be enough for everybody… c++11 variadic templates would be nice
    ANDMatcher();
-   ANDMatcher(Matcher * const matcher1);
+   explicit ANDMatcher(Matcher * const matcher1);
    ANDMatcher(Matcher * const matcher1, Matcher * const matcher2);
    ANDMatcher(Matcher * const matcher1, Matcher * const matcher2, Matcher * const matcher3);
    ANDMatcher(Matcher * const matcher1, Matcher * const matcher2, Matcher * const matcher3, Matcher * const matcher4);
    ANDMatcher(Matcher * const matcher1, Matcher * const matcher2, Matcher * const matcher3, Matcher * const matcher4, Matcher * const matcher5);
    ANDMatcher& AND(Matcher * const matcher);
-   virtual bool operator() (pkgCache::PkgIterator const &Pkg);
-   virtual bool operator() (pkgCache::GrpIterator const &Grp);
-   virtual bool operator() (pkgCache::VerIterator const &Ver);
+   virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::GrpIterator const &Grp) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::VerIterator const &Ver) APT_OVERRIDE;
    virtual ~ANDMatcher();
 };
 class ORMatcher : public Matcher {
@@ -81,33 +81,33 @@ class ORMatcher : public Matcher {
 public:
    // 5 ought to be enough for everybody… c++11 variadic templates would be nice
    ORMatcher();
-   ORMatcher(Matcher * const matcher1);
+   explicit ORMatcher(Matcher * const matcher1);
    ORMatcher(Matcher * const matcher1, Matcher * const matcher2);
    ORMatcher(Matcher * const matcher1, Matcher * const matcher2, Matcher * const matcher3);
    ORMatcher(Matcher * const matcher1, Matcher * const matcher2, Matcher * const matcher3, Matcher * const matcher4);
    ORMatcher(Matcher * const matcher1, Matcher * const matcher2, Matcher * const matcher3, Matcher * const matcher4, Matcher * const matcher5);
    ORMatcher& OR(Matcher * const matcher);
-   virtual bool operator() (pkgCache::PkgIterator const &Pkg);
-   virtual bool operator() (pkgCache::GrpIterator const &Grp);
-   virtual bool operator() (pkgCache::VerIterator const &Ver);
+   virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::GrpIterator const &Grp) APT_OVERRIDE;
+   virtual bool operator() (pkgCache::VerIterator const &Ver) APT_OVERRIDE;
    virtual ~ORMatcher();
 };
                                                                        /*}}}*/
 class PackageNameMatchesRegEx : public PackageMatcher {                        /*{{{*/
        regex_t* pattern;
 public:
-       PackageNameMatchesRegEx(std::string const &Pattern);
-       virtual bool operator() (pkgCache::PkgIterator const &Pkg);
-       virtual bool operator() (pkgCache::GrpIterator const &Grp);
+       explicit PackageNameMatchesRegEx(std::string const &Pattern);
+       virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
+       virtual bool operator() (pkgCache::GrpIterator const &Grp) APT_OVERRIDE;
        virtual ~PackageNameMatchesRegEx();
 };
                                                                        /*}}}*/
 class PackageNameMatchesFnmatch : public PackageMatcher {              /*{{{*/
        const std::string Pattern;
 public:
-       PackageNameMatchesFnmatch(std::string const &Pattern);
-       virtual bool operator() (pkgCache::PkgIterator const &Pkg);
-       virtual bool operator() (pkgCache::GrpIterator const &Grp);
+       explicit PackageNameMatchesFnmatch(std::string const &Pattern);
+       virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
+       virtual bool operator() (pkgCache::GrpIterator const &Grp) APT_OVERRIDE;
        virtual ~PackageNameMatchesFnmatch() {};
 };
                                                                        /*}}}*/
@@ -115,11 +115,11 @@ class PackageArchitectureMatchesSpecification : public PackageMatcher {   /*{{{*/
 /** \class PackageArchitectureMatchesSpecification
    \brief matching against architecture specification strings
 
-   The strings are of the format <kernel>-<cpu> where either component,
+   The strings are of the format <libc>-<kernel>-<cpu> where either component,
    or the whole string, can be the wildcard "any" as defined in
    debian-policy §11.1 "Architecture specification strings".
 
-   Examples: i386, mipsel, linux-any, any-amd64, any */
+   Examples: i386, mipsel, musl-linux-amd64, linux-any, any-amd64, any */
        std::string literal;
        std::string complete;
        bool isPattern;
@@ -133,15 +133,15 @@ public:
         */
        PackageArchitectureMatchesSpecification(std::string const &pattern, bool const isPattern = true);
        bool operator() (char const * const &arch);
-       virtual bool operator() (pkgCache::PkgIterator const &Pkg);
+       virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
        virtual ~PackageArchitectureMatchesSpecification();
 };
                                                                        /*}}}*/
 class PackageIsNewInstall : public PackageMatcher {                    /*{{{*/
        pkgCacheFile * const Cache;
 public:
-       PackageIsNewInstall(pkgCacheFile * const Cache);
-       virtual bool operator() (pkgCache::PkgIterator const &Pkg);
+       explicit PackageIsNewInstall(pkgCacheFile * const Cache);
+       virtual bool operator() (pkgCache::PkgIterator const &Pkg) APT_OVERRIDE;
        virtual ~PackageIsNewInstall();
 };
                                                                        /*}}}*/