12 #ifndef ZYPP_SAT_LOOKUPATTRTOOLS_H
13 #define ZYPP_SAT_LOOKUPATTRTOOLS_H
55 template<
class _ResultT,
class _AttrT>
56 class LookupAttr::transformIterator :
public boost::iterator_adaptor<
57 transformIterator<_ResultT,_AttrT>
58 , LookupAttr::iterator
60 , boost::forward_traversal_tag
70 { this->base_reference() = val_r; }
78 { this->base_reference().nextSkipSolvAttr(); }
82 { this->base_reference().nextSkipSolvable(); }
86 { this->base_reference().nextSkipRepo(); }
90 { this->base_reference().skipSolvAttr(); }
94 { this->base_reference().skipSolvable(); }
98 { this->base_reference().skipRepo(); }
105 {
return this->base_reference().inRepo(); }
109 {
return this->base_reference().inSolvable(); }
113 {
return this->base_reference().inSolvAttr(); }
122 return _ResultT( lit.
asType<_AttrT>() );
127 template<
class _ResultT,
class _AttrT>
130 template<
class _ResultT,
class _AttrT>
131 std::ostream & operator<<( std::ostream & str, const ArrayAttr<_ResultT,_AttrT> & obj );
153 template<
class _ResultT,
class _AttrT>
163 :
_q( attr_r, loc_r )
167 :
_q( attr_r, repo_r, loc_r )
171 :
_q( attr_r, solv_r )
213 template<
class _ResultT,
class _AttrT>
214 inline std::ostream & operator<<( std::ostream & str, const ArrayAttr<_ResultT,_AttrT> & obj )
215 {
return dumpOn( str, obj._q ); }
223 #endif // ZYPP_SAT_LOOKUPATTRTOOLS_H
LookupAttr::size_type size_type
A Solvable object within the sat Pool.
iterator find(const _ResultT &key_r) const
Lightweight attribute value lookup.
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
Search for solvable attributes (default)
LookupAttr::transformIterator based container to retrieve list attributes.
ArrayAttr(SolvAttr attr_r, Solvable solv_r)
ArrayAttr(SolvAttr attr_r, LookupAttr::Location loc_r=LookupAttr::SOLV_ATTR)
_Tp asType() const
Templated return type.
LookupAttr::transformIterator< _ResultT, _AttrT > iterator
ArrayAttr(SolvAttr attr_r, Repository repo_r, LookupAttr::Location loc_r=LookupAttr::SOLV_ATTR)
iterator end() const
Iterator behind the end of query results.
std::ostream & dumpOn(std::ostream &str, const LocaleSupport &obj)
bool empty() const
Whether the query is empty.
Location
Specify the where to look for the attribule.
iterator begin() const
Iterator to the begin of query results.