12 #ifndef ZYPP_SAT_LOOKUPATTRTOOLS_H
13 #define ZYPP_SAT_LOOKUPATTRTOOLS_H
55 template<
class TResult,
class TAttr>
57 TransformIterator<TResult,TAttr>
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 TResult( lit.
asType<TAttr>() );
127 template<
class TResult,
class TAttr>
130 template<
class TResult,
class TAttr>
131 std::ostream & operator<<( std::ostream & str, const ArrayAttr<TResult,TAttr> & obj );
153 template<
class TResult,
class TAttr>
163 :
_q( attr_r, loc_r )
167 :
_q( attr_r, repo_r, loc_r )
171 :
_q( attr_r, solv_r )
213 template<
class TResult,
class TAttr>
214 inline std::ostream & operator<<( std::ostream & str, const ArrayAttr<TResult,TAttr> & obj )
215 {
return dumpOn( str, obj._q ); }
223 #endif // ZYPP_SAT_LOOKUPATTRTOOLS_H