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();
194 void addString(
const std::string & value);
290 { addDependency( attr, name,
Rel::EQ, edition ); }
293 { addDependency( attr, name,
Rel::EQ, edition, arch ); }
304 { addDependency( attr, std::string(), op, edition ); }
307 { addDependency( attr, std::string(), op, edition, arch ); }
311 { addDependency( attr, std::string(),
Rel::EQ, edition ); }
314 { addDependency( attr, std::string(),
Rel::EQ, edition, arch ); }
352 void setCaseSensitive(
bool value =
true );
359 void setFilesMatchFullPath(
bool value =
true );
362 { setFilesMatchFullPath( !value ); }
365 void setMatchExact();
367 void setMatchSubstring();
371 void setMatchRegex();
381 const StrContainer & strings()
const;
385 const AttrRawStrMap & attributes()
const;
387 const StrContainer & attribute(
const sat::SolvAttr & attr)
const;
389 const Kinds & kinds()
const;
391 const StrContainer &
repos()
const;
394 const Rel editionRel()
const;
399 bool caseSensitive()
const;
402 bool filesMatchFullPath()
const;
405 {
return !filesMatchFullPath(); }
407 bool matchExact()
const;
408 bool matchSubstring()
const;
409 bool matchGlob()
const;
410 bool matchRegex()
const;
411 bool matchWord()
const;
417 {
return flags().mode(); }
432 bool recover( std::istream &
str,
char delim =
'\n' );
443 void serialize( std::ostream &str,
char delim =
'\n' )
const;
468 void setFlags(
const Match & flags );
494 class PoolQueryMatcher;
509 , sat::LookupAttr::iterator
510 , const sat::Solvable
511 , boost::forward_traversal_tag
512 , const sat::Solvable
515 typedef std::vector<sat::LookupAttr::iterator>
Matches;
526 : _matcher( matcher_r )
581 matches_iterator
matchesEnd()
const {
return matches().end(); }
585 friend class boost::iterator_core_access;
588 {
return base_reference().inSolvable(); }
593 const Matches & matches()
const;
603 {
return str << obj.base(); }
619 #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.
matches_iterator matchesBegin() const
Begin of matches.
bool filesMatchBasename() const
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)
size_type matchesSize() const
Number of attribute matches.
String related utilities and Regular expression matching.
detail::PoolQueryIterator const_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 matchesEmpty() const
False unless this is the end iterator.
void addDependency(const sat::SolvAttr &attr)
matches_iterator matchesEnd() const
End of matches.
Matches::size_type size_type
std::ostream & operator<<(std::ostream &str, const Dump< Tp > &obj)
std::vector< sat::LookupAttr::iterator > Matches
bool operator!=(const PoolQuery &b) const
Base class providing common iterator types based on a Solvable iterator.
sat::Solvable dereference() const
Match::Mode matchMode() const
Returns string matching mode as enum.
std::set< std::string > StrContainer
Mode
Mode flags (mutual exclusive).
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
shared_ptr< Matches > _matches
void addDependency(const sat::SolvAttr &attr, const Edition &edition, const Arch &arch)
RW_pointer< Impl > _pimpl
Pointer to implementation.
void addDependency(const sat::SolvAttr &attr, const Arch &arch)
const_iterator end() const
An iterator pointing to the end of the query result.
bool operator<(const StrMatcher &lhs, const StrMatcher &rhs)
#define ZYPP_DEPRECATED
The ZYPP_DEPRECATED macro can be used to trigger compile-time warnings with gcc >= 3...
Easy-to use interface to the ZYPP dependency resolver.
function< bool(const sat::Solvable &)> ProcessResolvable
void addDependency(const sat::SolvAttr &attr, const Rel &op, const Edition &edition)
PoolQueryIterator()
Default ctor is also end.
void addDependency(const sat::SolvAttr &attr, const Edition &edition)