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);
146 void addKind(
const ResKind & kind);
154 void addRepo(
const std::string &repoalias);
169 void setInstalledOnly();
171 void setUninstalledOnly();
188 void addString(
const std::string & value);
286 { addDependency( attr, name,
Rel::EQ, edition ); }
289 { addDependency( attr, name,
Rel::EQ, edition, arch ); }
300 { addDependency( attr, std::string(), op, edition ); }
303 { addDependency( attr, std::string(), op, edition, arch ); }
307 { addDependency( attr, std::string(),
Rel::EQ, edition ); }
310 { addDependency( attr, std::string(),
Rel::EQ, edition, arch ); }
348 void setCaseSensitive(
bool value =
true );
355 void setFilesMatchFullPath(
bool value =
true );
358 { setFilesMatchFullPath( !value ); }
361 void setMatchExact();
363 void setMatchSubstring();
367 void setMatchRegex();
379 void setRequireAll(
bool require_all =
true );
386 const StrContainer & strings()
const;
390 const AttrRawStrMap & attributes()
const;
392 const StrContainer & attribute(
const sat::SolvAttr & attr)
const;
394 const Kinds & kinds()
const;
396 const StrContainer &
repos()
const;
399 const Rel editionRel()
const;
404 bool caseSensitive()
const;
407 bool filesMatchFullPath()
const;
410 {
return !filesMatchFullPath(); }
412 bool matchExact()
const;
413 bool matchSubstring()
const;
414 bool matchGlob()
const;
415 bool matchRegex()
const;
416 bool matchWord()
const;
422 {
return flags().mode(); }
428 bool requireAll()
const;
443 bool recover( std::istream &
str,
char delim =
'\n' );
454 void serialize( std::ostream &str,
char delim =
'\n' )
const;
478 void setFlags(
const Match & flags );
498 class PoolQueryMatcher;
513 , sat::LookupAttr::iterator
514 , const sat::Solvable
515 , boost::forward_traversal_tag
516 , const sat::Solvable
519 typedef std::vector<sat::LookupAttr::iterator>
Matches;
530 : _matcher( matcher_r )
585 matches_iterator
matchesEnd()
const {
return matches().end(); }
589 friend class boost::iterator_core_access;
592 {
return base_reference().inSolvable(); }
597 const Matches & matches()
const;
607 {
return str << obj.base(); }
623 #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.
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)