12 #ifndef ZYPP_POOLQUERY_H 13 #define ZYPP_POOLQUERY_H 34 class PoolQueryIterator;
93 typedef std::set<ResKind>
Kinds;
120 const_iterator begin()
const;
123 const_iterator end()
const;
129 size_type size()
const;
136 void execute(ProcessResolvable fnc);
153 void addKind(
const ResKind & kind);
161 void addRepo(
const std::string &repoalias);
176 void setInstalledOnly();
178 void setUninstalledOnly();
195 void addString(
const std::string & value);
295 { addDependency( attr, name,
Rel::EQ, edition ); }
298 { addDependency( attr, name,
Rel::EQ, edition, arch ); }
309 { addDependency( attr, std::string(), op, edition ); }
312 { addDependency( attr, std::string(), op, edition, arch ); }
316 { addDependency( attr, std::string(),
Rel::EQ, edition ); }
319 { addDependency( attr, std::string(),
Rel::EQ, edition, arch ); }
357 void setCaseSensitive(
bool value =
true );
364 void setFilesMatchFullPath(
bool value =
true );
367 { setFilesMatchFullPath( !value ); }
370 void setMatchExact();
372 void setMatchSubstring();
376 void setMatchRegex();
388 void setRequireAll(
bool require_all =
true );
395 const StrContainer & strings()
const;
399 const AttrRawStrMap & attributes()
const;
401 const StrContainer & attribute(
const sat::SolvAttr & attr)
const;
403 const Kinds & kinds()
const;
405 const StrContainer &
repos()
const;
408 const Rel editionRel()
const;
413 bool caseSensitive()
const;
416 bool filesMatchFullPath()
const;
419 {
return !filesMatchFullPath(); }
421 bool matchExact()
const;
422 bool matchSubstring()
const;
423 bool matchGlob()
const;
424 bool matchRegex()
const;
425 bool matchWord()
const;
431 {
return flags().mode(); }
437 bool requireAll()
const;
452 bool recover( std::istream &
str,
char delim =
'\n' );
463 void serialize( std::ostream &str,
char delim =
'\n' )
const;
488 void setFlags(
const Match & flags );
508 class PoolQueryMatcher;
523 , sat::LookupAttr::iterator
524 , const sat::Solvable
525 , boost::forward_traversal_tag
526 , const sat::Solvable
529 typedef std::vector<sat::LookupAttr::iterator>
Matches;
540 : _matcher( matcher_r )
595 matches_iterator
matchesEnd()
const {
return matches().end(); }
599 friend class boost::iterator_core_access;
602 {
return base_reference().inSolvable(); }
607 const Matches & matches()
const;
617 {
return str << obj.base(); }
633 #endif // ZYPP_POOLQUERY_H PoolQueryIterator(const shared_ptr< PoolQueryMatcher > &matcher_r)
PoolQuery ctor.
A Solvable object within the sat Pool.
std::ostream & operator<<(std::ostream &str, const PoolQueryIterator &obj)
StatusFilter
Installed status filter setters.
void addDependency(const sat::SolvAttr &attr, const Rel &op, const Edition &edition, const Arch &arch)
std::set< ResKind > Kinds
std::string asString(const DefaultIntegral< Tp, TInitial > &obj)
String matching option flags as used e.g.
void addDependency(const sat::SolvAttr &attr, const std::string &name)
std::ostream & dumpOn(std::ostream &str, const PoolQueryIterator &obj)
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Arch &arch)
PoolQuery iterator as returned by PoolQuery::begin.
void setFilesMatchBasename(bool value=true)
Match::Mode matchMode() const
Returns string matching mode as enum.
String related utilities and Regular expression matching.
detail::PoolQueryIterator const_iterator
bool matchesEmpty() const
False unless this is the end iterator.
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Edition &edition)
Edition represents [epoch:]version[-release]
bool operator==(const SetRelation::Enum &lhs, const SetCompare &rhs)
bool operator!=(const PoolQuery &b) const
void addDependency(const sat::SolvAttr &attr)
Matches::size_type size_type
std::ostream & operator<<(std::ostream &str, const Dump< Tp > &obj)
std::vector< sat::LookupAttr::iterator > Matches
Base class providing common iterator types based on a Solvable iterator.
std::set< std::string > StrContainer
matches_iterator matchesEnd() const
End of matches.
Mode
Mode flags (mutual exclusive).
const_iterator end() const
An iterator pointing to the end of the query result.
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Edition &edition, const Arch &arch)
Matches::const_iterator matches_iterator
std::map< sat::SolvAttr, StrContainer > AttrRawStrMap
shared_ptr< PoolQueryMatcher > _matcher
matches_iterator matchesBegin() const
Begin of matches.
shared_ptr< Matches > _matches
void addDependency(const sat::SolvAttr &attr, const Edition &edition, const Arch &arch)
sat::Solvable dereference() const
RW_pointer< Impl > _pimpl
Pointer to implementation.
void addDependency(const sat::SolvAttr &attr, const Arch &arch)
bool operator<(const StrMatcher &lhs, const StrMatcher &rhs)
Easy-to use interface to the ZYPP dependency resolver.
size_type matchesSize() const
Number of attribute matches.
function< bool(const sat::Solvable &)> ProcessResolvable
void addDependency(const sat::SolvAttr &attr, const Rel &op, const Edition &edition)
PoolQueryIterator()
Default ctor is also end.
bool filesMatchBasename() const
void addDependency(const sat::SolvAttr &attr, const Edition &edition)