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 )
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< TResult, TAttr > iterator
Tp asType() const
Templated return type.
std::ostream & operator<<(std::ostream &str, const ArrayAttr< TResult, TAttr > &obj)
Stream output.
Lightweight attribute value lookup.
iterator end() const
Iterator behind the end of query results.
bool empty() const
Whether the query is empty.
Location
Specify the where to look for the attribule.
@ SOLV_ATTR
Search for solvable attributes (default)
iterator begin() const
Iterator to the begin of query results.
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.