12 #ifndef ZYPP_POOLQUERY_H 13 #define ZYPP_POOLQUERY_H 19 #include <zypp/base/Regex.h> 20 #include <zypp/base/PtrTypes.h> 21 #include <zypp/base/Function.h> 34 class PoolQueryIterator;
93 typedef std::set<ResKind>
Kinds;
161 void addRepo(
const std::string &repoalias);
202 void addString(
const std::string & value);
403 const std::string &
comment()
const;
444 bool recover( std::istream &
str,
char delim =
'\n' );
455 void serialize( std::ostream &
str,
char delim =
'\n' )
const;
506 class PoolQueryMatcher;
521 , sat::LookupAttr::iterator
522 , const sat::Solvable
523 , boost::forward_traversal_tag
524 , const sat::Solvable
527 typedef std::vector<sat::LookupAttr::iterator>
Matches;
538 : _matcher( matcher_r )
597 friend class boost::iterator_core_access;
600 {
return base_reference().inSolvable(); }
605 const Matches & matches()
const;
615 {
return str << obj.base(); }
631 #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)
void setUninstalledOnly()
Return only packages from repos other than .
StatusFilter
Installed status filter setters.
const AttrRawStrMap & attributes() const
Map (map<SolvAttr, StrContainer>) of attribute values added via addAttribute(), addDep in string form...
void addAttribute(const sat::SolvAttr &attr, const std::string &value="")
Filter by the value of the specified attr attribute.
void addDependency(const sat::SolvAttr &attr, const Rel &op, const Edition &edition, const Arch &arch)
std::set< ResKind > Kinds
String matching option flags as used e.g.
void addDependency(const sat::SolvAttr &attr, const std::string &name)
void setComment(const std::string &comment) const
Set an optional comment string describing the purpose of the query.
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Arch &arch)
PoolQuery iterator as returned by PoolQuery::begin.
void setFlags(const Match &flags)
Free function to set libsolv repo search flags.
bool requireAll() const ZYPP_DEPRECATED
void execute(ProcessResolvable fnc)
Executes the query with the current settings.
void addString(const std::string &value)
Add a global query string.
void setFilesMatchBasename(bool value=true)
const StrContainer & strings() const
Search strings added via addString()
Match::Mode matchMode() const
Returns string matching mode as enum.
void setMatchGlob()
Set to match globs.
void setMatchRegex()
Set to use the query strings as regexes.
String related utilities and Regular expression matching.
detail::PoolQueryIterator const_iterator
bool operator<(const PoolQuery &b) const
bool matchesEmpty() const
False unless this is the end iterator.
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Rel &op, const Edition &edition)
Query "name|global op edition".
void setCaseSensitive(bool value=true)
Turn case sentitivity on or off (unsets or sets SEARCH_NOCASE flag).
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Edition &edition)
void addKind(const ResKind &kind)
Filter by selectable kind.
Edition represents [epoch:]version[-release]
Mode mode() const
Return the mode part.
bool operator!=(const PoolQuery &b) const
const Kinds & kinds() const
void addDependency(const sat::SolvAttr &attr)
Matches::size_type size_type
size_type size() const
Number of solvables in the query result.
bool operator==(const PoolQuery &b) const
void serialize(std::ostream &str, char delim='\n') const
Writes a machine-readable string representation of the query to stream.
const StrContainer & attribute(const sat::SolvAttr &attr) const
std::vector< sat::LookupAttr::iterator > Matches
Base class providing common iterator types based on a Solvable iterator.
bool caseSensitive() const
returns true if search is case sensitive
void setRequireAll(bool require_all=true) ZYPP_DEPRECATED
bool filesMatchFullPath() const
Whether searching in filelists looks at the full path or just at the basenames.
std::set< std::string > StrContainer
void setStatusFilterFlags(StatusFilter flags)
Set status filter directly.
const StrContainer & repos() const
void addRepo(const std::string &repoalias)
Filter by repo.
void setMatchWord()
Set substring to match words.
const_iterator begin() const
Query result accessers.
const std::string & comment() const
std::ostream & dumpOn(std::ostream &str, const PoolQuery &obj)
matches_iterator matchesEnd() const
End of matches.
const Rel editionRel() const
void setInstalledOnly()
Return only repo packages.
bool recover(std::istream &str, char delim='\n')
Reads from stream query.
Mode
Mode flags (mutual exclusive).
std::string asString() const
Return a human-readable description of the query.
void addDependency(const sat::SolvAttr &attr, const std::string &name, const Edition &edition, const Arch &arch)
const_iterator end() const
An iterator pointing to the end of the query result.
const Edition edition() const
Matches::const_iterator matches_iterator
void setMatchSubstring()
Set to substring (the default).
std::map< sat::SolvAttr, StrContainer > AttrRawStrMap
void setEdition(const Edition &edition, const Rel &op=Rel::EQ)
Set version condition.
void setMatchExact()
Set to match exact string instead of substring.
shared_ptr< PoolQueryMatcher > _matcher
StatusFilter statusFilterFlags() const
bool matchSubstring() const
Wrapper for const correct access via Smart pointer types.
matches_iterator matchesBegin() const
Begin of matches.
bool empty() const
Whether the result is empty.
shared_ptr< Matches > _matches
void addDependency(const sat::SolvAttr &attr, const Edition &edition, const Arch &arch)
sat::Solvable dereference() const
Match flags() const
Free function to get libsolv repo search flags.
void setFilesMatchFullPath(bool value=true)
If set (default), look at the full path when searching in filelists.
RW_pointer< Impl > _pimpl
Pointer to implementation.
void addDependency(const sat::SolvAttr &attr, const Arch &arch)
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)
#define ZYPP_DEPRECATED
The ZYPP_DEPRECATED macro can be used to trigger compile-time warnings with gcc >= 3...
PoolQueryIterator()
Default ctor is also end.
bool filesMatchBasename() const
void addDependency(const sat::SolvAttr &attr, const Edition &edition)