12 #ifndef ZYPP_SAT_LOOKUPATTR_H
13 #define ZYPP_SAT_LOOKUPATTR_H
29 struct MatchException;
147 iterator
begin()
const;
150 iterator
end()
const;
161 template<
class TResult,
class TAttr = TResult>
169 SolvAttr
attr()
const;
172 void setAttr( SolvAttr attr_r );
207 Repository
repo()
const;
301 const std::string & mstring_r = std::string(),
int flags_r = 0 );
304 const char * mstring_r,
int flags_r = 0 );
319 DIWrap( rhs ).swap( *
this );
323 {
DIWrap().swap( *
this ); }
352 , detail::CDataiterator *
354 , boost::forward_traversal_tag
502 const char *
c_str()
const;
528 template<
class Tp> Tp
asType()
const {
return Tp(
id()); }
553 template <
class OtherDerived,
class OtherIterator,
class V,
class C,
class R,
class D>
554 bool equal(
const boost::iterator_adaptor<OtherDerived, OtherIterator, V, C, R, D> & rhs )
const
556 return (
bool(base()) ==
bool(rhs.base()) )
557 && ( ! base() ||
dip_equal( *base(), *rhs.base() ) );
582 template<>
inline int LookupAttr::iterator::asType<int>()
const {
return asInt(); }
583 template<>
inline unsigned LookupAttr::iterator::asType<unsigned>()
const {
return asUnsigned(); }
584 template<>
inline unsigned long long LookupAttr::iterator::asType<unsigned long long>()
const {
return asUnsignedLL(); }
585 template<>
inline bool LookupAttr::iterator::asType<bool>()
const {
return asBool(); }
586 template<>
inline const char * LookupAttr::iterator::asType<const char *>()
const {
return c_str(); }
587 template<>
inline std::string LookupAttr::iterator::asType<std::string>()
const {
return asString(); }
588 template<>
inline IdString LookupAttr::iterator::asType<IdString>()
const {
return idStr(); }
589 template<> CheckSum LookupAttr::iterator::asType<CheckSum>()
const;
591 template<
class TResult,
class TAttr>
607 {
return str << &obj; }
609 #endif // ZYPP_SAT_LOOKUPATTR_H