12#ifndef ZYPP_SAT_LOOKUPATTRTOOLS_H
13#define ZYPP_SAT_LOOKUPATTRTOOLS_H
57 template<
class TResult,
class TAttr>
59 TransformIterator<TResult,TAttr>
60 , LookupAttr::iterator
62 , boost::forward_traversal_tag
72 { this->base_reference() = val_r; }
80 { this->base_reference().nextSkipSolvAttr(); }
84 { this->base_reference().nextSkipSolvable(); }
88 { this->base_reference().nextSkipRepo(); }
92 { this->base_reference().skipSolvAttr(); }
96 { this->base_reference().skipSolvable(); }
100 { this->base_reference().skipRepo(); }
107 {
return this->base_reference().inRepo(); }
111 {
return this->base_reference().inSolvable(); }
115 {
return this->base_reference().inSolvAttr(); }
124 return TResult( lit.
asType<TAttr>() );
129 template<
class TResult,
class TAttr>
132 template<
class TResult,
class TAttr>
155 template<
class TResult,
class TAttr>
165 :
_q(
std::move(attr_r), loc_r )
169 :
_q(
std::move(attr_r), repo_r, loc_r )
173 :
_q(
std::move(attr_r), solv_r )
187 {
return _q.empty(); }
215 template<
class TResult,
class TAttr>
LookupAttr::TransformIterator based container to retrieve list attributes.
iterator find(const TResult &key_r) const
LookupAttr::size_type size_type
ArrayAttr(SolvAttr attr_r, LookupAttr::Location loc_r=LookupAttr::SOLV_ATTR)
friend std::ostream & operator(std::ostream &str, const ArrayAttr< TResult, TAttr > &obj)
ArrayAttr(SolvAttr attr_r, Solvable solv_r)
ArrayAttr(SolvAttr attr_r, Repository repo_r, LookupAttr::Location loc_r=LookupAttr::SOLV_ATTR)
LookupAttr::TransformIterator< PackageKeyword, IdString > iterator
Tp asType() const
Templated return type.
std::ostream & operator<<(std::ostream &str, const ArrayAttr< TResult, TAttr > &obj)
Stream output.
Lightweight attribute value lookup.
Location
Specify the where to look for the attribule.
@ SOLV_ATTR
Search for solvable attributes (default)
A Solvable object within the sat Pool.
String related utilities and Regular expression matching.
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
std::ostream & dumpOn(std::ostream &str, const LocaleSupport &obj)
Easy-to use interface to the ZYPP dependency resolver.
#define for_(IT, BEG, END)
Convenient for-loops using iterator.