libzypp
16.17.20
|
Store PoolQuery settings and assist PoolQueryIterator. More...
Public Types | |
typedef sat::LookupAttr::iterator | base_iterator |
Public Member Functions | |
const base_iterator & | end () const |
bool | advance (base_iterator &base_r) const |
void | matchDetail (const base_iterator &base_r, std::vector< base_iterator > &return_r) const |
Provide all matching attributes within this solvable. More... | |
PoolQueryMatcher (const shared_ptr< const PoolQuery::Impl > &query_r) | |
Ctor stores the PoolQuery settings. More... | |
~PoolQueryMatcher () | |
Private Member Functions | |
base_iterator | startNewQyery () const |
Initialize a new base query. More... | |
bool | isAMatch (base_iterator &base_r) const |
Check whether we are on a match. More... | |
Private Attributes | |
std::set< Repository > | _repos |
Repositories include in the search. More... | |
DefaultIntegral< bool, false > | _neverMatchRepo |
std::set< ResKind > | _kinds |
Resolvable kinds to include. More... | |
Rel | _op |
Edition filter. More... | |
Edition | _edition |
int | _status_flags |
Installed status filter flags. More... | |
AttrMatchList | _attrMatchList |
StrMatcher per attribtue. More... | |
Store PoolQuery settings and assist PoolQueryIterator.
Basically the matcher performs a base query, which should preselect candidates for a match. And has some filter conditions on top of it. Query and fileter depend on the PoolQuery settings.
Matcher must be stateless, as it is shared between multiple PoolQueryIterator instances.
If base_iterator is at the end, advance moves it to the first match. Otherwise advance moves to the next match, or to the end, if there is no more match.
Definition at line 1484 of file PoolQuery.cc.
Definition at line 1487 of file PoolQuery.cc.
|
inline |
Ctor stores the PoolQuery settings.
MatchException | Any of the exceptions thrown by PoolQuery::Impl::compile. |
Definition at line 1570 of file PoolQuery.cc.
|
inline |
Definition at line 1601 of file PoolQuery.cc.
|
inline |
Definition at line 1490 of file PoolQuery.cc.
|
inline |
Definition at line 1496 of file PoolQuery.cc.
|
inline |
Provide all matching attributes within this solvable.
Definition at line 1519 of file PoolQuery.cc.
|
inlineprivate |
Initialize a new base query.
Definition at line 1606 of file PoolQuery.cc.
|
inlineprivate |
Check whether we are on a match.
The check covers the whole Solvable, not just the current attribute base_r
points to. If there's no match, also prepare base_r
to advance appropriately. If there is a match, simply return true
. advance always moves to the next Solvable if there was a match.
Definition at line 1646 of file PoolQuery.cc.
|
private |
Repositories include in the search.
Definition at line 1742 of file PoolQuery.cc.
|
private |
Definition at line 1743 of file PoolQuery.cc.
|
private |
Resolvable kinds to include.
Definition at line 1745 of file PoolQuery.cc.
|
private |
Edition filter.
Definition at line 1747 of file PoolQuery.cc.
|
private |
Definition at line 1748 of file PoolQuery.cc.
|
private |
Installed status filter flags.
Definition at line 1750 of file PoolQuery.cc.
|
private |
StrMatcher per attribtue.
Definition at line 1752 of file PoolQuery.cc.