1 // -*- mode: cpp; mode: fold -*-
3 /** \file cachefilter.h
4 Collection of functor classes */
6 #ifndef APT_CACHEFILTER_H
7 #define APT_CACHEFILTER_H
8 // Include Files /*{{{*/
9 #include <apt-pkg/pkgcache.h>
16 namespace CacheFilter
{
17 // PackageNameMatchesRegEx /*{{{*/
18 class PackageNameMatchesRegEx
{
19 /** \brief dpointer placeholder (for later in case we need it) */
23 PackageNameMatchesRegEx(std::string
const &Pattern
);
24 bool operator() (pkgCache::PkgIterator
const &Pkg
);
25 bool operator() (pkgCache::GrpIterator
const &Grp
);
26 ~PackageNameMatchesRegEx();
29 // PackageArchitectureMatchesSpecification /*{{{*/
30 /** \class PackageArchitectureMatchesSpecification
31 \brief matching against architecture specification strings
33 The strings are of the format <kernel>-<cpu> where either component,
34 or the whole string, can be the wildcard "any" as defined in
35 debian-policy ยง11.1 "Architecture specification strings".
37 Examples: i386, mipsel, linux-any, any-amd64, any */
38 class PackageArchitectureMatchesSpecification
{
42 /** \brief dpointer placeholder (for later in case we need it) */
45 /** \brief matching against architecture specification strings
47 * @param pattern is the architecture specification string
48 * @param isPattern defines if the given \b pattern is a
49 * architecture specification pattern to match others against
50 * or if it is the fixed string and matched against patterns
52 PackageArchitectureMatchesSpecification(std::string
const &pattern
, bool const isPattern
= true);
53 bool operator() (char const * const &arch
);
54 bool operator() (pkgCache::PkgIterator
const &Pkg
);
55 bool operator() (pkgCache::VerIterator
const &Ver
);
56 ~PackageArchitectureMatchesSpecification();