12 #ifndef ZYPP_POOLQUERY_H 13 #define ZYPP_POOLQUERY_H 34 class PoolQueryIterator;
93 typedef std::set<ResKind>
Kinds;
161 void addRepo(
const std::string &repoalias);
194 void addString(
const std::string & value);
434 bool recover( std::istream &
str,
char delim =
'\n' );
445 void serialize( std::ostream &
str,
char delim =
'\n' )
const;
474 void setRequireAll(
bool require_all =
true ) ZYPP_DEPRECATED;
496 class PoolQueryMatcher;
511 , sat::LookupAttr::iterator
512 , const sat::Solvable
513 , boost::forward_traversal_tag
514 , const sat::Solvable
517 typedef std::vector<sat::LookupAttr::iterator>
Matches;
528 : _matcher( matcher_r )
587 friend class boost::iterator_core_access;
590 {
return base_reference().inSolvable(); }
595 const Matches & matches()
const;
605 {
return str << obj.base(); }
621 #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 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.
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)
PoolQueryIterator()
Default ctor is also end.
bool filesMatchBasename() const
void addDependency(const sat::SolvAttr &attr, const Edition &edition)